繁体   English   中英

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

[英]Regex for Mobile Number with or without Country Code

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

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

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

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

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

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

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

但是,如果您可以为我们分别提供一些测试用例,它会帮助我们为您提供一个可以满足您需求的工作正则表达式。

在评论中支持 SchlaWiener 以正确限制国家代码长度。

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

}

尝试以下:

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;
    }    
}

这应该可以解决问题:

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

http://fiddle.re/av1k

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

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

结果将是+91

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

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;
}

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

在此处输入图像描述

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM