Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

170号码段与正则验证手机号

  很多网站都有对手机号码的格式做验证的设定,因为传统的手机号码第一位总是1,第二位是3、5、8这三个数字,后面再接9个数字。但是现在新上市的170号码段打破了这个惯例,第二位数字居然是7,因此有时它们会被判定为非法手机号,使用上受到影响。
  验证手机号的合法性通常会用这么一个正则表达式 /^1[358]\d{9}$/   但是这个正则表达式无法匹配第二位数字为7的手机号码,所以170号码段自然躺枪。当然,如果只是为了解决这个170问题,只要在上面正则的中括号内加上个7就OK。
/^1[3578]\d{9}$/   但解决问题不能只看表面,这个170号码段的问题带给我们的是更深刻的思考。也许以后会出现更奇葩的合法号码,到时候要再修改这个正则表达式吗?甚至将来可能连位数都会变化,我们是不是还要考虑这些号码在数据库中存储的类型呢?我觉得有些东西我们只要判断其不为空就行了,没必要搞太复杂的格式验证,这些具体的格式验证应该留给运营商自己去做。
  眼下的170问题,虽然解决起来并不困难,但可能很多已有的程序根本懒得管这个问题,所以在今后的一段时间中170号码段可能依然会各种躺枪。只有170号码段持续存在,而且各大网站都对其支持后,小网站才可能慢慢支持上。
网名:
34.203.245.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^