regexp para el número de teléfono? [duplicar]

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

link to regexper.com

But it's not correctly working.So any help would be appreciated

preguntado el 28 de mayo de 14 a las 14:05

Is there any format for these numbers? or just 11 numbers with posible (, - and whitespace? -

There are lots of similar questions here. Have none of those answers helped? -

There's a solution provided by the community of Regexr: regexr.com/38pvb -

Deberías echar un vistazo a esta pregunta which deals with this issue and is pretty clearly answered -

1 Respuestas

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 or haz tu propia pregunta.