我想要格式为 +91(或任何其他国家/地区代码)-9999999999(10 位手机号码)的手机号码。
我试过/^\+[0-9]{2,3}+[0-9]\d{10}
了,但它不起作用请帮助
提前致谢
我想要格式为 +91(或任何其他国家/地区代码)-9999999999(10 位手机号码)的手机号码。
我试过/^\+[0-9]{2,3}+[0-9]\d{10}
了,但它不起作用请帮助
提前致谢
简而言之,解决方案:
// 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}$/);
更长的解释:
/
开始正则表达式^
尝试从头开始匹配\+
匹配一个+号\d{1,3}
匹配一个数字 1 到 3 次-
匹配破折号\d{9,10}
匹配 9 位或 10 位数字$
强制匹配仅在可以应用到字符串终止时才有效/
完成正则表达式了解正则表达式的作用,可能会让您根据自己的需要对其进行修改
有时最好忽略您遇到的任何空格。\s*
匹配 0 或 n 个空格。因此,为了更加宽容,您可以让用户输入类似' + 49 - 1232345 '
与此匹配的正则表达式将是/^\s*\+\s*\d{1,3}\s*-\s*\d{9, 10}\s*$/
(只需用 填充可能的空间位置\s*
)
除此之外:我强烈建议掌握正则表达式,因为它们在许多情况下都非常方便。
如果您希望数字中出现破折号(您的格式显示),那么您的正则表达式中没有任何内容可以匹配它:正则表达式中的第二个加号是否意味着破折号?
^\+[0-9]{2,3}-[0-9]\d{10}
另请注意:
您可以简单地编写以下内容:
var pattern=/^(0|[+91]{3})?[7-9][0-9]{9}$/;
使用遮罩功能
jQuery(function($){
$("#phone").mask("999-999-9999",{placeholder:" "});
});
对于移动验证,请尝试此
<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>
\+[0-9]{2,3}-[0-9]+
尝试这个。这匹配+
开头的a,国家代码的两个或三个数字,后跟a,-
后跟任意数量的数字