以下是移动官方拔下来的正则表达式:
判断字符串是否是手机号码
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 }
时间: 2024-10-01 20:59:58