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

首先给大家推荐一下我老师大神的人工智能教学网站。教学不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵黄段子!点这里可以跳转到网站

ி 前言

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

文章最后更新时间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 = "手机号码规范";
	}

➷ 参考博客

点这里可以跳转到人工智能网站

发表评论