带或不带国家代码的手机号码正则表达式

Cyb*_*pks 10 javascript regex validation

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

文本框将接受手机号码,如9999999999(10位数 - 从7或8或9开始).用户也可以写+919999999999,其中+91是国家代码(印度为+91,但可以接受任何其他类似+110或+52),或者他也可以写09999999999(自己国家的前0)

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

  1. 添加国家/地区代码的手机号码
  2. 只是没有国家代码或0前缀
  3. 零移动数字前缀为零.

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

Joe*_*Joe 11

从我所看到的,这应该工作.前缀是可选的,存储在第一个匹配组中,主号码进入第二个组.

^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$
Run Code Online (Sandbox Code Playgroud)

但是,如果你能为我们提供一些测试用例,那么它可以帮助我们为你提供所需的工作正则表达式.

在对国家代码长度的正确限制的评论中向SchlaWiener道具.


Nee*_*hah 8

简单的regexp用于印度手机号码验证: /^[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();
    }

}
Run Code Online (Sandbox Code Playgroud)