I want mobile number in format +91(or any other country code)-9999999999(10 digit mobile number).
I have tried /^\+[0-9]{2,3}+[0-9]\d{10}
, but its not working please help
Thanks in advance
I want mobile number in format +91(or any other country code)-9999999999(10 digit mobile number).
I have tried /^\+[0-9]{2,3}+[0-9]\d{10}
, but its not working please help
Thanks in advance
Share Improve this question edited Apr 24, 2013 at 9:47 Richard 109k21 gold badges211 silver badges274 bronze badges asked Apr 24, 2013 at 9:45 anup navareanup navare 211 gold badge1 silver badge4 bronze badges6 Answers
Reset to default 8Solution in short:
// should return an array with a single match representing the phone number in arr[0]
var arr = '+49-1234567890'.match(/^\+\d{1,3}-\d{9,10}$/);
// should return null
var nullVal = 'invalid entry'.match(/^\+\d{1,3}-\d{9,10}$/);
Longer explanation:
/
start regex^
try to match from the beginning\+
match a + sign\d{1,3}
match a digit 1 to 3 times-
match a dash\d{9,10}
match 9 or 10 digits$
force the matching to be only valid if can be applied until string termination/
finish regex
Knowing what the regex does, might let you modify it to your own needs
Sometimes it is good to ignore any whitespaces you come across. \s*
matches 0 or n whitespaces. So in order to be more permissive you could let users input something like ' + 49 - 1232345 '
The regex to match this would be /^\s*\+\s*\d{1,3}\s*-\s*\d{9, 10}\s*$/
(just filled the possible space locations with \s*
)
Other than that: I warmly recommend mastering regexes, because they come really handy in many situations.
If you are expecting a dash in the number (which your format shows), there is nothing in your regex to match it: is the second plus in the regex meant to be a dash?
^\+[0-9]{2,3}-[0-9]\d{10}
Also note that:
- some country codes are single digit (eg. 1 for North America, 7 for Russia), these will not be matched
- I doubt the local part of all mobiles everywhere is always 10 digits (eg. it won't be enough in countries with large populations as mobile ownership grows)
You can simply write the following:
var pattern=/^(0|[+91]{3})?[7-9][0-9]{9}$/;
\+[0-9]{2,3}-[0-9]+
Try this. This matches a +
in the beginning, two or three numbers for the country code, followed by a -
followed by any number of numbers
Use the mask function
jQuery(function($){
$("#phone").mask("999-999-9999",{placeholder:" "});
});
look here http://office.microsoft.com/en-in/access-help/control-data-entry-formats-with-input-masks-HA010096452.aspx
For mobile validation please try this
<html>
<head>
<title>Mobile number validation using regex</title>
<script type="text/javascript">
function validate() {
var mobile = document.getElementById("mobile").value;
var pattern = /^[7-9][0-9]{9}$/;
if (pattern.test(mobile)) {
alert("Your mobile number : "+mobile);
return true;
}
alert("It is not valid mobile number");
return false;
}
</script>
</head>
<body>
Enter Mobile No. :
<input type="text" name="mobile" id="mobile" />
<input type="submit" value="Check" onclick="validate();" />
</body>
</html>