手机号段正则表达式 (2019-01 最新)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/85601655

ி 前言

  • 温馨提示:
    首先,有一点注意的是,手机号这种东西会不断更新(时间跨度比较长,具体规则估计得去工信部查看)
    所以,个人认为网上流传的大多数介绍其 正则表达式 的文章,是无法保证规范与时效性的
    总结来说,如果想要保障严谨的规范性,就无法保证时效性, 建议花个十几分钟看一下 正则表达式 - 语法 ,自行制定需要的结果,同时尽量注意 及时更新过时的代码

文章最后更新时间2019 - 01 - 02

  • 国内移动、联通、电信 三大运营商所管理的手机号段(最新)
— --- — 中国移动 中国联通 中国电信 虚拟运营商
已有号段 134 135 136 137 138 139
147(上网卡)
150 151 152 157 158 159
165
172 178(4G)
182 183 184 187 188
130 131 132
145(上网卡)
155 156
171 175 176(4G)
185 186
133
149
153
173 174 177(4G)
180 181 189
191
170 171
新增号段
(2017-08-08 工信部)
1440(物联网) 148(物联网)
198
146(物联网)
166
1410(物联网)
199

✎ 正则表达式

  • 如果根据上文的手机号段,进行严谨的规则匹配,那么得到的结果为:
/^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/
  • 如果觉得太过严谨,可以考虑使用
/^[1]([3-9])[0-9]{9}$/
  • 举例,在 js 代码中进行应用的一种写法:
    var telStr = /^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/;
    var inputStr = "18810998988";
    if (!(telStr.test(inputStr))) {
      flag = '手机号码输入不规范';
    }else{
	  msg = "手机号码规范";
	}

➷ 参考博客

猜你喜欢

转载自blog.csdn.net/u011415782/article/details/85601655