Se requiere ayuda de regex
-
28-10-2019 - |
Pregunta
Estoy usando el siguiente Regex para convertir dígitos en formato de teléfono.
telephoneNumber = '1234567890';
var number = telephoneNumber.replace(/\D/g,'');
newNumber = number.replace(/^(\d{3})(\d{3})(\d{4})$/, '($1)$2-$3'); // (123)456-7890
Problema es que si TeleponEnumber.length es mayor que 10, entonces no hace nada. Quiero agregar dígitos adicionales al final del número de teléfono.
Por ejemplo:
change 1234567890 to (123)456-7890
change 1234567890111 to (123)456-7890111
¿Qué debo cambiar en Regex anterior?
Gracias.
Solución
Intente cambiar la última línea a esto:newNumber = number.replace(/^(\d{3})(\d{3})(\d{4,})$/, '($1)$2-$3');
Acabo de agregar una coma después del \d{4
Esto le dice que tome 4 o más dígitos.
Además, a menudo uso este sitio para probar mi regex: http://gskinner.com/regexr/ Es muy útil.
Otros consejos
La única razón por la que puedo ver que desea usar una regex es para validación, sin embargo, si solo está tratando de formatear la cadena a un número de teléfono, ¿por qué no usar un Formatero de número de teléfono de JavaScript