我需要在注册表单中验证我想要一个正则表达式的文本字段。
文本框将接受手机号码,如9999999999(10位数 - 从7或8或9开始)。 用户也可以写+919999999999,其中+91是国家代码(印度为+91,但可以接受任何其他类似+110或+52),或者他也可以写09999999999(自己国家的前0)
在这里,用户有3个选择,
虽然不是必需的,但我的页面是在asp.net中,我正在使用内置的正则表达式验证器。
答案 0 :(得分:10)
从我所看到的,这应该有效。前缀是可选的,存储在第一个匹配组中,主号码进入第二个组。
^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$
但是如果你能为我们提供一些测试案例,那么它会帮助我们为你提供你想要的正则表达式。
在对国家代码长度的正确限制的评论中向SchlaWiener道具。
答案 1 :(得分:8)
印度移动电话号码验证的简单正则表达式:/^[0]?[789]\d{9}$/
支持 08888888888(零附加) 7878787878,8634456876,9545559877(任何手机号码前面有7,8,9,其后是9位数字)
全功能
function mobileNumber(){
var Number = document.getElementById('YOUR ELEMENT ID').value;
var IndNum = /^[0]?[789]\d{9}$/;
if(IndNum.test(Number)){
return;
}
else{
$('#errMessage').text('please enter valid mobile number');
document.getElementById('profile_telephoneNumber').focus();
}
}
答案 2 :(得分:1)
答案 3 :(得分:1)
答案 4 :(得分:0)
if(document.getElementById('mobile_number').value != ""){
var y = document.getElementById('mobile_number').value;
if(isNaN(y)||y.indexOf(" ")!=-1)
{
alert("Invalid Mobile No.");
document.getElementById('mobile_number').focus();
return false;
}
if (y.length>10 || y.length<10)
{
alert("Mobile No. should be 10 digit");
document.getElementById('mobile_number').focus();
return false;
}
if (!(y.charAt(0)=="9" || y.charAt(0)=="8"))
{
alert("Mobile No. should start with 9 or 8 ");
document.getElementById('mobile_number').focus();
return false
}
}
您还可以在更多示例链接中看到 click here
http://p2p.wrox.com/javascript-how/64920-validation-phone-number-mobile-number.html
答案 5 :(得分:0)
尝试以下操作:
function validateMobile(mobilenumber) {
var regmm='^([0|+[0-9]{1,5})?([7-9][0-9]{9})$';
var regmob = new RegExp(regmm);
if(regmob.test(mobilenumber)){
return true;
} else {
return false;
}
}