English 中文(简体)
印度电话号码和手机号码的正则表达式校验校验
原标题:Regular Expression Validation For Indian Phone Number and Mobile number
I want to validate Indian phone numbers as well as mobile numbers. The format of the phone number and mobile number is as follows: For land Line number 03595-259506 03592 245902 03598245785 For mobile number 9775876662 0 9754845789 0-9778545896 +91 9456211568 91 9857842356 919578965389 I would like the regular expression in one regex. I have tried the following regex but it is not working properly. {^+?[0-9-]+$}
最佳回答
For land Line Number 03595-259506 03592 245902 03598245785 you can use this d{5}([- ]*)d{6} NEW for all ;) 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 this site is useful for me, and maby for you .;)http://gskinner.com/RegExr/
问题回答
Use the following regex ^(+91[-s]?)?[0]?(91)?[789]d{9}$ This will support the following formats: 8880344456 +918880344456 +91 8880344456 +91-8880344456 08880344456 918880344456
This works really fine: +?d[d -]{8,12}d Matches: 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 Does NOT match: 2343 234-8700 1 234 765
for mobile number: const re = /^[6-9]{1}[0-9]{9}$/;
I use the following for one of my python project Regex (+91)?(-)?s*?(91)?s*?(d{3})-?s*?(d{3})-?s*?(d{4}) Python usage re.search(re.compile(r (+91)?(-)?s*?(91)?s*?(d{3})-?s*?(d{3})-?s*?(d{4}) ), text_to_search).group() Explanation (+91)? // optionally match +91 (91)? // optionally match 91 -? // optionally match - s*? // optionally match whitespace (d{3}) // compulsory match 3 digits (d{4}) // compulsory match 4 digits Tested & works for 9992223333 +91 9992223333 91 9992223333 91999 222 3333 +91999 222 3333 +91 999-222-3333 +91 999 222 3333 91 999 222 3333 999 222 3333 +919992223333
For both mobile & fixed numbers: (?: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 I ve tested it on following text 9775876662 0 9754845789 0-9778545896 +91 9456211568 91 9857842356 919578965389 0359-2595065 0352 2459025 03598245785 07912345678 01123456789 sdasdcsd +919898101353 dasvsd0 +91 dacsdvsad davsdvasd 0112776654
You can use regular expression like this. /^[(]+ ++d{2}[)]+[^0]+d{9}/
For Indian Mobile Numbers Regular Expression to validate 11 or 12 (starting with 0 or 91) digit number String regx = "(0/91)?[7-9][0-9]{9}"; String mobileNumber = "09756432848"; check if(mobileNumber.matches(regx)){ "VALID MOBILE NUMBER" }else{ "INVALID MOBILE NUMBER" } You can check for 10 digit mobile number by removing "(0/91)?" from the regular expression i.e. regx
you can implement following regex regex = ^[6-9][0-9]{9}$
All mobile numbers in India start with 9, 8, 7 or 6. Now, there is a chance that you are not bothering about the prefixes (+91 or 0). If this is your scenario, then you can take the help from the website regextester.com or you can use r ^(+91[-s]?)?[0]?(91)?[789]d{9}$ And if you want to validate the Phone number with prefixes(+91 or 0) then use : r ^[6-9]d{9}$ .
r +?(91?|0?)[-s]?[3-9]d{3}[-s]?d{6}$ explanation +? # Start with plus sign or not (91?|0?) # Followed by 91 or 0 or none of them [-s]? # Followed by either - or space, or none of them [3-9] # followed by any number from 3 between 9 d{3} # followed by any three digits d{6} # followed by any six digits $ # specify string should stop at that point
If you re doing text parsing and said numbers are embedded in random places, this regex can be helpful. re.compile(r (?:(?:+91[-.s]?)|(?:91[-.s]?)|(?:0[-.s]?))?(?:d{10}|d{5}[-.s]?d{5}) ) It ignores whitespaces, new lines etc.
You Can Use Regex Like This: ^[0-9-(), ]+$
All Landline Numbers and Mobile Number ^[d]{2,4}[- ]?[d]{3}[- ]?[d]{3,5}|([0])?(+d{1,2}[- ]?)?[789]{1}d{9}$
var phonereg = /^(+d{1,3}[- ]?)?d{10}$/;




相关问题
Uncommon regular expressions [closed]

Recently I discovered two amazing regular expression features: ?: and ?!. I was curious of other neat regex features. So maybe you would like to share some tricky regular expressions.

regex to trap img tag, both versions

I need to remove image tags from text, so both versions of the tag: <img src="" ... ></img> <img src="" ... />

C++, Boost regex, replace value function of matched value?

Specifically, I have an array of strings called val, and want to replace all instances of "%{n}%" in the input with val[n]. More generally, I want the replace value to be a function of the match ...

PowerShell -match operator and multiple groups

I have the following log entry that I am processing in PowerShell I m trying to extract all the activity names and durations using the -match operator but I am only getting one match group back. I m ...

Is it possible to negate a regular expression search?

I m building a lexical analysis engine in c#. For the most part it is done and works quite well. One of the features of my lexer is that it allows any user to input their own regular expressions. This ...

regex for four-digit numbers (or "default")

I need a regex for four-digit numbers separated by comma ("default" can also be a value). Examples: 6755 3452,8767,9865,8766,3454 7678,9876 1234,9867,6876,9865 default Note: "default" ...

热门标签