17

我需要验证我想要正则表达式的注册表单中的文本字段。

文本框将接受一个手机号码,如 9999999999(10 位 - 以 7 或 8 或 9 开头)。用户也可以写 +919999999999,其中 +91 是国家代码(+91 代表印度,但可以接受任何其他代码,例如 +110 或 +52),或者他也可以写 09999999999(第一个 0 代表本国)

在这里,用户有3个选择,

  1. 添加带有国家代码的手机号码
  2. 只是没有国家代码或 0 前缀
  3. 在手机号码中以零为前缀。

虽然不是必需的,但我的页面在 asp.net 中,并且我正在使用内置的正则表达式验证器。

4

7 回答 7

22

据我所知,这应该有效。前缀是可选的,存储在第一个匹配组中,主号码进入第二组。

^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$

但是,如果您可以为每个测试用例提供一些测试用例,这将有助于我们为您提供所需的工作正则表达式。

在评论中向 SchlaWiener 提出正确限制国家代码长度的建议。

于 2012-10-12T11:28:16.843 回答
12

印度手机号码验证的简单正则表达式:/^[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();
    }

}
于 2014-07-14T05:17:36.057 回答
3

这应该可以解决问题:

^(\+[\d]{1,5}|0)?[7-9]\d{9}$

http://fiddle.re/av1k

于 2012-10-12T11:28:00.353 回答
3

尝试以下操作:

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;
    }    
}
于 2019-01-09T10:08:59.340 回答
2

您也可以使用字符串操作来做到这一点。检查此链接

str = "+919999999999"
cc = str.split(str.slice(-10))[0]

结果将是+91

于 2012-10-12T11:35:19.540 回答
1

对于手机号码验证 - 请使用此正则表达式

var mobile_number = 9867345673;   // return true
var mobile_number = 1234566667;   // return false
var mob_regex = /^(?:(?:\+|0{0,2})91(\s*[\-]\s*)?|[0]?)?[789]\d{9}$/;
if(mob_regex.test(mobile_number)){
   return true;
} else {
   return false;
}

请参阅随附的屏幕截图以供参考。

在此处输入图像描述

于 2021-10-27T19:33:22.773 回答
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
       }
 }

您还可以在更多示例链接中看到 单击此处

http://p2p.wrox.com/javascript-how/64920-validation-phone-number-mobile-number.html

于 2012-10-12T11:31:05.220 回答