js正则表达式验证手机号码
2017-05-19 08:23
441 查看
看到网上很多代码都很复杂,还包括以中文开头的86,17951,其实谁会填这么多,无非是检验一下他们是否位数对不对,开头有没有写错而已。下面我们从百度百科的手机号码历程来看:现在的手机号码段有联通、移动和电信。
电信
中国电信手机号码开头数字
2G/3G号段(CDMA2000网络)133、153、180、181、189
4G号段 177
联通
中国联通手机号码开头数字
2G号段(GSM网络)130、131、132、155、156
3G上网卡145
3G号段(WCDMA网络)185、186
4G号段 176、185[1]
移动
中国移动手机号码开头数字
2G号段(GSM网络)有134x(0-8)、135、136、137、138、139、150、151、152、158、159、182、183、184。
3G号段(TD-SCDMA网络)有157、187、188
3G上网卡 147
4G号段 178
从以上我们可以看到第一位是【1】开头,第二位则则有【3,4,5,7,8】,第三位则是【0-9】,第三位之后则是数字【0-9】。从而我们可以得出一个符合当前的手机号码验证正则表达式。
但你想过没有,也许这个第二位代码可能随时增加一个,比如以16开头呢?19开头呢?谁知道以后的事,咱们的代码要保证几年没问题,所以还可以不验证第二位规则:
资料来源:http://caibaojian.com/phone-regexp.html
让我们一起遨游在代码的海洋里!
电信
中国电信手机号码开头数字
2G/3G号段(CDMA2000网络)133、153、180、181、189
4G号段 177
联通
中国联通手机号码开头数字
2G号段(GSM网络)130、131、132、155、156
3G上网卡145
3G号段(WCDMA网络)185、186
4G号段 176、185[1]
移动
中国移动手机号码开头数字
2G号段(GSM网络)有134x(0-8)、135、136、137、138、139、150、151、152、158、159、182、183、184。
3G号段(TD-SCDMA网络)有157、187、188
3G上网卡 147
4G号段 178
从以上我们可以看到第一位是【1】开头,第二位则则有【3,4,5,7,8】,第三位则是【0-9】,第三位之后则是数字【0-9】。从而我们可以得出一个符合当前的手机号码验证正则表达式。
var reg = /^1[34578][0-9]{9}$/; //验证规则,
[34578]之间不需要|
var phoneNum = '15507621999';//手机号码 var flag = reg.test(phoneNum); //true
但你想过没有,也许这个第二位代码可能随时增加一个,比如以16开头呢?19开头呢?谁知道以后的事,咱们的代码要保证几年没问题,所以还可以不验证第二位规则:
var reg = /^1[0-9]{10}$/;
资料来源:http://caibaojian.com/phone-regexp.html
让我们一起遨游在代码的海洋里!
相关文章推荐
- JS正则表达式验证是否为11位有效手机号码
- JS正则表达式验证是否为11位有效手机号码
- js正则表达式手机号码验证
- ASP.NET手机号码格式验证js版
- js中的电话号码和手机验证已经身份号码解析年龄出生日期和性别
- JS和正则表达式验证手机号码、邮箱等
- 验证手机号码
- lx010手机号码验证
- javascript 手机号码正则表达式验证函数
- 验证 手机号码、密码格式
- 验证手机号码的JS方法分享
- js验证电话号码手机号码的正则表达式
- 正则表达式验证用户名、密码、手机号码、身份证
- easyUI 验证控件应用、自定义、扩展验证 手机号码或电话话码格式
- 同时验证手机号码和固定电话的正则表达式
- JS验证手机号码格式
- Javascirpt 验证手机号码 和 固话
- 验证手机号码,小灵通号码函数
- js手机号码验证以及隐藏中间四位数字
- 验证手机号码和EMAIL