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

116
Vistas
Cómo hacer coincidir números seguidos de cualquier combinación de caracteres especiales y espacios usando expresiones regulares

Soy un novato con expresiones regulares y tengo problemas para tratar de hacer coincidir algunas partes de una cadena para poder eliminarla de una parte del texto ingresado. Quiero hacer coincidir los dígitos seguidos de una secuencia de una combinación de cualquier carácter especial + espacios. También podría haber caracteres no latinos que no deberían eliminarse dentro de la secuencia (por ejemplo, Ñ).

por ejemplo, ingresado puede verse así:

 11@- &-.text 11 $ab*cÑ .somewords123

emitido que esperaría

 text abcÑsomewrods123

Estoy usando el método de reemplazo de javascript con expresiones regulares para encontrarlo. Hasta ahora tengo algo básico como esta expresión regular

 .replaceAll(/\d+(\@|\s)+(\-|\$)+(\s|\&)+(\&)+(\-)+(\.)/g, '');

¿Hay alguna manera de escribir esto de manera más eficiente para que capture cualquier carácter especial ya que el texto puede contener más caracteres especiales diferentes que en los ejemplos? ¿O es esta una situación que se maneja mejor con JS puro?

Gracias de antemano por tu ayuda.

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

0

Debería tener una lista negra de lo que llama caracteres especiales o una lista blanca de los caracteres permitidos.

para la lista negra se verá así:

 const blacklist = "!@#$%^&*()_+."; const exampleInputs = [ "te&*st+_1.", "te%%st^*2", "t@@@es*(*(*t3" ]; function removeSpecialChars(str) { const reg = new RegExp(`[${blacklist}]`, "g"); return str.replace(reg, ""); } exampleInputs.forEach(input => console.log(removeSpecialChars(input)));

para la lista blanca se verá así:

 const whitelist = "0-9a-zA-Z"; const exampleInputs = [ "te&*st+_1.", "te%%st^*2", "t@@@es*(*(*t3" ]; function removeSpecialChars(str) { const reg = new RegExp(`[^${whitelist}]`, "g"); return str.replace(reg, ""); } exampleInputs.forEach(input => console.log(removeSpecialChars(input)));

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