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

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

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 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!