regexp para el número de teléfono? [duplicar]
Frecuentes
Visto 161 equipos
1
Hi I need to build a regexp for phone numbers, such as:
+79261234567
+7 926 123 45 67
89261234567
79261234567
8(926)123-45-67
9261234567
79261234567
89261234567
8-926-123-45-67
8 927 1234 234
8 927 12 12 888
8 927 12 555 12
8 927 123 8 123
I came now to this regexp:
/((8|\+7)[\- ]?)((\(?9\d{2}\)?[\- ]?)[\d\- ]{7,10})?[\d\- ]{10,10}/g
But it's not correctly working.So any help would be appreciated
1 Respuestas
3
Puedes probar con:
var input = 'phone number',
output = input.replace(/\(([^)]+)\)/, '$1').replace(/(^\+)|[- ]+/g, ''),
result = /^\d{10,11}$/.test(output);
Explicación:
\(([^)]+)\) - looks for digits with brackets around them to be removed
(^\+)|[- ]+ - looks for starting `+` or whitespace/dash in number to be removed
^\d{10,11}$ - checks if number has exacly 10 to 11 digits
contestado el 28 de mayo de 14 a las 14:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript regex or haz tu propia pregunta.
Is there any format for these numbers? or just 11 numbers with posible (, - and whitespace? - Justinas
There are lots of similar questions here. Have none of those answers helped? - Pointy
There's a solution provided by the community of Regexr: regexr.com/38pvb - Slate
Deberías echar un vistazo a esta pregunta which deals with this issue and is pretty clearly answered - user3241019