Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

193
Vistas
¿Cuál será la mejor expresión regular para censurar el correo electrónico?

Hola, estoy atascado en un problema para censurar el correo electrónico en un formato específico, pero no entiendo cómo hacerlo, ¡por favor ayúdenme!

Correo electrónico: exampleEmail@example.com

Requerido: e***********@e******.com

Ayúdame a obtener esto en javascript, código actual que estoy usando para censurar:

 const email = exampleEmail@example.com; const regex = /(?<!^).(?!$)/g; const censoredEmail = email.replace(regex, '*');

Salida: e**********************m

Por favor, ayúdenme a obtener e***********@e******.com

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puedes usar

 const email = 'exampleEmail@example.com'; const regex = /(^.|@[^@](?=[^@]*$)|\.[^.]+$)|./g; const censoredEmail = email.replace(regex, (x, y) => y || '*'); console.log(censoredEmail ); // => e***********@e******.com

Detalles :

  • ( - inicio del Grupo 1:
    • ^.| - inicio de cadena y cualquier carácter, o
    • @[^@](?=[^@]*$)| - una @ y cualquier carácter que no sea @ seguido de cualquier carácter que no sea @ hasta el final de la cadena, o
    • \.[^.]+$ - un . y luego uno o más caracteres que no sean . hasta el final de la cadena
  • ) - fin del grupo
  • | - o
  • . - cualquier carácter.

El (x, y) => y || '*' El reemplazo (x, y) => y || '*' significa que los partidos se reemplazan con el valor del Grupo 1 si coincidió (participó en el partido) o con * .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si debe haber una sola @ presente en la cadena, puede capturar todas las partes de la cadena y hacer el reemplazo en los grupos específicos.

  • ^ Comienzo de cadena
  • ([^\s@]) Capture el primer carácter que no sea un carácter de espacio en blanco o @ que no debe modificarse
  • ([^\s@]*) Captura repeticiones opcionales del mismo
  • @ Partido literalmente
  • ([^\s@]) Capture el primer carácter que no sea un carácter de espacio en blanco o @ después de él que no debe modificarse
  • ([^\s@]*) Captura repeticiones opcionales del mismo
  • (\.[^\s.@]+) Captura un punto y 1+ otros caracteres además de un punto, @ o carácter de espacio en blanco que no deben modificarse
  • $ Fin de la cadena

Demostración de expresiones regulares

En el reemplazo, use los 5 grupos de captura, donde reemplaza el grupo 2 y 4 con * .

 const regex = /^([^\s@])([^\s@]*)@([^\s@])([^\s@]*)(\.[^\s.@]+)$/; [ "exampleEmail@example.com", "test" ].forEach(email => console.log( email.replace(regex, (_, g1, g2, g3, g4, g5) => `${g1}${"*".repeat(g2.length)}@${g3}${"*".repeat(g4.length)}${g5}`) ) );

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda