验证手机号码格式

以下是移动官方拔下来的正则表达式: 

判断字符串是否是手机号码
 0是手机号码 1不是11位数字 2号码前缀不正确
 用于检验手机号的位数以及检验此手机中是否为中国移动的手机号*/
 由于存在携号转网的情况 允许3个运营商的全部号段(试点中)*/
 中国移动号码段:134(0至8号段) 135 136 137 138 139 147 150 151 152 157 158 159 178 182 183 184 187 188
 中国联通号码段:130 131 132 145 155 156 175 176 185 186
 中国电信号码段:133 153 177 180 181 189
 虚拟运营商号码段:170

 1 // 判断字符串是否是手机号码

 2 // 0是手机号码 1不是11位数字 2号码前缀不正确

 3 /* 用于检验手机号的位数以及检验此手机中是否为中国移动的手机号*/

 4 /* 由于存在携号转网的情况 允许3个运营商的全部号段(试点中)*/

 5 // 中国移动号码段:134(0至8号段) 135 136 137 138 139 147 150 151 152 157 158 159 178 182 183 184 187 188

 6 // 中国联通号码段:130 131 132 145 155 156 175 176 185 186

 7 // 中国电信号码段:133 153 177 180 181 189

 8 // 虚拟运营商号码段:170

 9 function isPhoneNumber(phone) {

10     var rv = 0;

11 

12     var mbphnoM = /^(13[4-9])|^(147)|^(150)|^(151)|^(152)|^(157)|^(158)|^(159)|^(178)|^(182)|^(183)|^(184)|^(187)|^(188)/;

13     var mbphnoU = /^(130)|^(131)|^(132)|^(145)|^(155)|^(156)|^(175)|^(176)|^(185)|^(186)/;

14     var mbphnoT = /^(133)|^(153)|^(177)|^(180)|^(181)|^(189)/;

15     var mbphnoV =/^(170)/;

16       

17     var num11 = /^\d{11}$/; //11位数字;

18       

19     if (null != phone && "" != phone && num11.exec(phone)) {

20         

21         if (mbphnoM.exec(phone) || mbphnoU.exec(phone) || mbphnoT.exec(phone) || mbphnoV.exec(phone)) {

22             rv = 0;

23         }

24         else {

25             rv = 2;

26         }

27     }

28     else {

29         rv = 1;

30     }

31      

32     return rv;

33 }
View Code

 

你可能感兴趣的:(验证手机号)