本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript怎样验证手机号码?
JavaScript 手机号正则表达式写法
在我们平时开发过程中,常常要判断一个手机号码。我记得刚开始做前端「切图仔」的时候,就有疑惑,这个不是后端处理的吗。实际上,如果前端提前判断手机号码是否正确,就可以减少后段请求,节省宽带资源。
我们得先了解手机号码的规则「来自百度百科」:
中国电信号段:133、149、153、173、177、180、181、189、191、199
中国联通号段:130、131、132、145、155、156、166、171、175、176、185、186
中国移动号段:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198
其他号段:14号段以前为上网卡专属号段,如中国联通的是145,中国移动的是147等等。
虚拟运营商
电信:1700、1701、1702、162
移动:1703、1705、1706、165
联通:1704、1707、1708、1709、171、167
卫星通信:1349
首先,手机号码只能是整数。我们可以这样判断:
function isMobile (mobile) { return /\d+/.test(mobile) }
登录后复制
然后手机号码必须以数字为开头,数字结尾,写法可以升级下:
function isMobile (mobile) { return /^\d+$/.test(mobile) }
登录后复制
上面这个正则只能做简单判断,我们知道所有的手机号码都是以 1 开头的,写法可以再升级下:
function isMobile (mobile) { return /^1\d+$/.test(mobile) }
登录后复制
另外手机号码都是 11 个数字:
function isMobile (mobile) { return /^1\d{10}$/.test(mobile) }
登录后复制
手机号码的第二位是 3 至 9 的数字:
function isMobile (mobile) { return /^1[3-9]\d{9}$/.test(mobile) }
登录后复制
推荐学习:《javascript高级教程》
以上就是javascript怎样验证手机号码的详细内容,更多请关注Work网其它相关文章!