Je souhaite valider les numéros de téléphone indiens ainsi que les numéros mobiles. Le format du numéro de téléphone et du numéro de mobile est le suivant:
Pour le numéro de ligne terrestre
03595-259506
03592 245902
03598245785
Pour numéro de mobile
9775876662
0 9754845789
0-9778545896
+91 9456211568
91 9857842356
919578965389
Je voudrais l'expression régulière dans une expression régulière. J'ai essayé le regex suivant mais il ne fonctionne pas correctement.
{^\+?[0-9-]+$}
Pour le numéro de ligne terrestre
03595-259506
03592 245902
03598245785
vous pouvez l'utiliser
NOUVEAU pour tous;)
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
ce site est utile pour moi, et maby pour vous.;) http://gskinner.com/RegExr/
Cela fonctionne très bien:
\+?\d[\d -]{8,12}\d
Allumettes:
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
Ne correspond pas:
2343
234-8700
1 234 765
Utilisez l'expression régulière suivante
^(\+91[\-\s]?)?[0]?(91)?[789]\d{9}$
Cela prendra en charge les formats suivants:
Pour les numéros mobiles et fixes: (?:\s+|)((0|(?:(\+|)91))(?:\s|-)*(?:(?:\d(?:\s|-)*\d{9})|(?:\d{2}(?:\s|-)*\d{8})|(?:\d{3}(?:\s|-)*\d{7}))|\d{10})(?:\s+|)
Explication:
(?:\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
Je l'ai testé sur le texte suivant
9775876662
0 9754845789
0-9778545896
+91 9456211568
91 9857842356
919578965389
0359-2595065
0352 2459025
03598245785
07912345678
01123456789
sdasdcsd
+919898101353
dasvsd0
+91 dacsdvsad
davsdvasd
0112776654
Tous les numéros mobiles en Inde commencent par 9 , 8 , 7 ou 6 . Maintenant, il est possible que vous ne vous souciez pas des préfixes (+91 ou 0). Si tel est votre scénario, vous pouvez prendre l'aide du site Web regextester.com ou vous pouvez utiliser r '^ (+ 91 [-\s]? )? [0]? (91)? [789]\d {9} $ '
Et si vous souhaitez valider le numéro de téléphone avec des préfixes (+91 ou 0), utilisez: r '^ [9876]\d {9} $' .