Регулярная проверка выражений для индийского номера телефона и мобильного номера
Я хочу проверить номера телефонов Индии, а также мобильные номера. Формат номера телефона и мобильного телефона выглядит следующим образом:
Номер земельного участка
03595-259506
03592 245902
03598245785
Для мобильного телефона
9775876662
0 9754845789
0-9778545896
+91 9456211568
91 9857842356
919578965389
Я хотел бы регулярное выражение в одном регулярном выражении. Я пробовал следующее регулярное выражение, но оно не работает должным образом.
{^\+?[0-9-]+$}
Ответы
Ответ 1
Номер сухопутной линии
03595-259506
03592 245902
03598245785
вы можете использовать этот
\d {5} ([-] *)\d {6}
NEW для всех;)
OLD: ((\+*)(0*|(0 )*|(0-)*|(91 )*)(\d{12}+|\d{10}+))|\d{5}([- ]*)\d{6}
NEW: ((\+*)((0[ -]+)*|(91 )*)(\d{12}+|\d{10}+))|\d{5}([- ]*)\d{6}
9775876662
0 9754845789
0-9778545896
+91 9456211568
91 9857842356
919578965389
03595-259506
03592 245902
03598245785
этот сайт полезен для меня и для вас. * http://gskinner.com/RegExr/
Ответ 2
Это работает отлично:
\+?\d[\d -]{8,12}\d
Матчи:
03598245785
9775876662
0 9754845789
0-9778545896
+91 9456211568
91 9857842356
919578965389
987-98723-9898
+91 98780 98802
06421223054
9934-05-4851
WAQU9876567892
ABCD9876541212
98723-98765
НЕ соответствует:
2343
234-8700
1 234 765
Ответ 3
Используйте следующее регулярное выражение
^(\+91[\-\s]?)?[0]?(91)?[789]\d{9}$
Это будет поддерживать следующие форматы:
- 8880344456
- +918880344456
- +91 8880344456
- + 91-8880344456
- 08880344456
- 918880344456
Ответ 4
Для мобильных и фиксированных номеров: (?:\s+|)((0|(?:(\+|)91))(?:\s|-)*(?:(?:\d(?:\s|-)*\d{9})|(?:\d{2}(?:\s|-)*\d{8})|(?:\d{3}(?:\s|-)*\d{7}))|\d{10})(?:\s+|)
Explaination:
(?:\s+|) // leading spaces
((0|(?:(\+|)91)) // prefixed 0, 91 or +91
(?:\s|-)* // connecting space or dash (-)
(?:(?:\d(?:\s|-)*\d{9})| // 1 digit STD code & number with connecting space or dash
(?:\d{2}(?:\s|-)*\d{8})| // 2 digit STD code & number with connecting space or dash
(?:\d{3}(?:\s|-)*\d{7})| // 3 digit STD code & number with connecting space or dash
\d{10}) // plain 10 digit number
(?:\s+|) // trailing spaces
Я проверил его по следующему тексту
9775876662
0 9754845789
0-9778545896
+91 9456211568
91 9857842356
919578965389
0359-2595065
0352 2459025
03598245785
07912345678
01123456789
sdasdcsd
+919898101353
dasvsd0
+91 dacsdvsad
davsdvasd
0112776654
Ответ 5
Вы можете использовать регулярное выражение, подобное этому:
^[0-9\-\(\)\, ]+$
Ответ 6
Все стационарные номера и номер мобильного телефона
^ [\ d] {2,4} [-]? [\ d] {3} [-]? [\ d] {3,5} | ([0])? (\ +\d { 1,2} [-]?)? [789] {1}\d {9} $
Ответ 7
Это во многом зависит от того, для чего вы хотите регулярное выражение. У меня был случай использования, когда я импортировал из довольно "грязной" базы данных, и мне нужно было простое выражение, которое просто отсеивало совершенно неправильные. Этого регулярного выражения было достаточно в этом случае: ^\+?[\d(). -]{5,25}
^\+?[\d(). -]{5,25}
Explaination:
- может начинаться или не начинаться с плюса.
- может иметь один из этих символов:
(). - space digit
(). - space digit
. - должно содержать от 5 до 25 символов.
Наглядное объяснение
![enter image description here]()
Примечание. Согласно МСЭ номера телефонов могут содержать не более 15 цифр (см. План нумерации телефонов). Максимальное число = 25 в Regex содержит специальные символы.
Ответ 8
var phonereg = /^(\+\d{1,3}[- ]?)?\d{10}$/;