手机号码号码正则
-
相关资料
-
附件 json文件
[ { "number": 13912345678, "des": "手机号码" }, { "number": 14012345678, "des": "联通物联网网号" }, { "number": 14112345678, "des": "电信物联网网号" }, { "number": 14212345678, "des": "物联网网号" } ]
-
示例代码
var fs = require('fs'); var fsObj = fs.readFileSync('./telPhoneNumber.json'); var phoneNumberObjs = JSON.parse(fsObj); for (const index in phoneNumberObjs) { if (phoneNumberObjs.hasOwnProperty(index)) { const element = phoneNumberObjs[index]; // console.log(index,element.number,":",strictTelPhoneNumber(element.number)?"手机号码":"未知","==",element.des); console.log(index,element.number,":",looseTelPhoneNumber(element.number)?"手机号码":"未知","==",element.des); } } /** * * 严格校验,这个正则表达式不建议使用,因为变化的太快,说不定过几天就变了 * @param {String} phoneNumberStr 电话号码 * @return {Boolean} 是否正确 */ function strictTelPhoneNumber(phoneNumberStr){ // var regex = /^13(4[^9]\d{7}|[^4]\d{8})$/; // var regex = /^14[5-9]\d{8}$/;//14[] // var regex = /^16([^0389]|([2567]\d{8})|(1(0[^12]\d{6}|\d{7}))|(4[^89]\d{7}))$/;//16[] // var regex = /^17[^49]\d{8}$/;//17[] // var regex = /^19([^067]|([123589]\d{8})|(4[^1-5]\d{7}))$/; var fullRegex = /^(13(4[^9]\d{7}|[^4]\d{8}))|((15|18)\d{9})|(14[5-9]\d{8})|(16([^0389]|([2567]\d{8})|(1(0[^12]\d{6}|\d{7}))|(4[^89]\d{7})))|(17[^49]\d{8})|(19([^067]|([123589]\d{8})|(4[^1-5]\d{7})))$/; return fullRegex.test(phoneNumberStr); } /** * * 推荐使用该正则来判断手机号码,可以通过与示例中的json文件进行结果比较 * @param {String} phoneNumberStr * @return {Boolean} 是否正确 */ function looseTelPhoneNumber(phoneNumberStr){ var regex = /^1(3|5|8|9)\d{9}|4[5-9]\d{8}|6[^0389]\d{8}|7[0-8]\d{8}$/; return regex.test(phoneNumberStr); }
-
规定
- 13号段
- 表达式:
^13(4[^9]\d{7}|[^4]\d{8})$
- 1349是卫星移动通信业务专用号段
- 表达式:
- 14号段
- 表达式:
^14[5-9]d{8}$
- 140XX 13位 中国联通物联网网号
- 141XX 13位 中国电信物联网网号
- 142XX~143XX 13位 物联网网号
- 144XX 13位 中国移动物联网网号
- 表达式:
- 15号段
- 表达式:
^15\d{8}$
- 表达式:
- 16号段
- 表达式:
^16([^0389]|([2567]\d{8})|(1(0[^12]\d{6}|\d{7}))|(4[^89]\d{7}))$
- 160 省内人工信息服务台接入码
- 161~162 16101和16102原用于中国电信和中国联通分组交换数据网CHINAPAC 同步/异步拨号入网接入码,现将业务调整,调整时限为 2018 年底前
- 163XX 互联网类业务接入码
- 164~167 1648 和1649 原用于 ATM 网网号和帧中继网网号 不予匹配
- 168XX 电话信息服务业务接入码 不予匹配
- 169XX 互联网类业务接入码 不予匹配
- 表达式:
- 17号段
- 表达式:
^17\[^49\]\d{8)$
- 170、171 是移动通信转售业务专用号段
- 174 是卫星移动通信业务专用号段
- 179XX IP 电话业务接入码
- 表达式:
- 18号段
- 表达式:
^18\d{8}$
- 表达式:
- 19号段
- 表达式:
^19([^067]|([123589]\d{8})|(4[^1-5]\d{7}))$
- 190、196 和 197 原用于中国电信、中国联通和中国移动的运营商标识码以及智能网电话卡业务,现要求对标识码进行调整,分别调整为1241(中国电信)、1243(中国联通)、1242(中国移动),调整时限为 2017 年底前;卡类业务逐步清退,清退时限为2018年底前。
- 194(1~5)原用于中国电信和联通帧中继和 ATM 网网号,现进行业务调整,调整时限为2018年底前
- 表达式:
- 13号段