Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

185
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!