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

315
Views
Formatee un número de teléfono (elimine los espacios vacíos y reemplace el primer dígito si es 0)

Tengo un número de teléfono (teléfono) que se enviará a un punto final de API a través de una solicitud PUT. Antes de enviar a la API, quiero formatearlo.

Casos:

1)

 Phone number: 0321 1234567 Send to API like: +3553211234567
 Phone Number: +355 321 1234567 Send to API like: +3553211234567
 Phone Number: +3553211234567 Send to API like: +3553211234567

Entonces, lo que tengo que hacer es:

1- eliminar espacios vacíos

para esto estoy usando:

 phone.replace(/[^+\d]+/g, "")

elimine todo excepto + (para códigos de países) y dígitos.

2- verifique si el número de teléfono comienza con 0. Si es cierto, reemplácelo con +355.

¿Cómo puedo hacer esto en Javascript? Gracias de antemano.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Puede usar dos reemplazos, uno para 0 a +355 y otro para espacios. Para obtener solo el primer 0, use ^0 , que coincidirá solo si el primer carácter es 0.

 let phones = ['0321 1234567','+355 321 1234567','+3553211234567', '0103 1234500'] phones.forEach(phone => { phone = phone.replace(/^0/,'+355') phone = phone.replace(/\s/g,'') console.log(phone) })

about 4 years ago · Juan Pablo Isaza Report

0

Probablemente opté por una solución demasiado difícil aquí, pero ¿qué hay de hacer coincidir los últimos 10 dígitos y unirlos nuevamente?

 const str = '+355 321 1234567'; const array = [...str.matchAll(/\d(?!(?:.*\d){10})/g)]; console.log('+355' + array.join(''));

about 4 years ago · Juan Pablo Isaza Report

0

También puede usar una función de devolución de llamada con reemplazar y capturar el cero al principio en el grupo 1, o hacer coincidir 1 o más caracteres de espacio en blanco usando (^0)|\s+

En la verificación de devolución de llamada para el grupo 1. Si está allí, agregue +355 , de lo contrario, una cadena vacía.

Código de ejemplo

 let regex = /(^0)|\s+/g; [ "0321 1234567", "+355 321 1234567", "+3553211234567" ].forEach( s => console.log( s.replace(regex, (m, g1) => g1 ? "+355" : "")) );

Salida para los 3

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