关广辉博客 - 关注营销,关注被社会洪流裹挟的你和我。

排除170/171虚拟号段手机号码正则表达式

营销

  随着对泪雪用户中心的深度开发与功能完善的需求,对于每一个细小的功能子凡我都尽可能的做到极致,但是今天发现这个手机号码的验证总是有一些不尽人意,也在网上找过各种的手机号码正则表达式,经过测试没有一个可以满足需求,所以干脆自己动手来写这个规则了。

  

  大家都知道手机号码无非就是几个号段,并且都是以数字1开始,网上能找到的正则表达式都是缺胳膊少腿的,要么不能验证170号段,要么就是只要是个11位的数字就能通过,所以就变得特别混乱,而在这次的开发中,子凡决定要排除虚拟运营商号段的手机号码,也就是以170和171开头的手机号码,这样的手机号码并不是实打实的手机卡,所以对于一个用户中心帐户的绑定这样一个虚拟的手机号码属实太假了一点,所以泪雪用户中心改版上线后是绝对不允许这样的情况存在。

  正则表达式如下:

    //排除170/171虚拟号段手机号码正则表达式
  /^1([3458][0-9]{9}|(7[2-9]{1})[0-9]{8})/

  以上正则表达式就满足了上面子凡的吐槽和几乎极致的一个要求,必须以数字1开始,第二位必须是3、4、5、8,后面九位任意数字的号段,如果第二为数字是7,那么就在第三位数排除0、1,后面的八位数字任意。

  好啦,基本就这样,看似很简单,其实也很简单,只是没有人像子凡我这样转牛角尖的去把一个东西研究得这么透彻了吧,如果还有比子凡更极致的,可以把第三位数字也做好控制,这样甚至还能直接区分出是移动号段、联通号段或者电信号段了,这里我之所以没有这样做,是因为这样的变动或许还是蛮大的,长远的角度来看就不合适了。

  除非注明,否则均为泪雪博客原创文章,转载请以链接形式标明本文地址

  本文链接:https://zhangzifan.com/cellphone-number-regex.html

本文信息
继续阅读
  • 上一篇 >:MySQL嵌套查询“LIMIT & IN/ALL/ANY/SOME”错误解决方法
  • 下一篇 >:原型图制作技巧!2个工具让你快速制作原型图
相关推荐
    游戏分级制度有效实施的探讨 IT行业营运人员福利,10个在线充电网站 看国外Trivago平台是如何做营销的 自媒体如何盈利,自媒体赚钱的三大套路 微信公众号等自媒体的现状 如何做爆款文章,说说做爆文的基本心态