家人们,手机号验证到底是正则还是直接 11 位数字首位为 1 啊

324 天前
Gocobnus  Gocobnus

网上的正则全是好几年前的了,可用性很难保证 11 位数字验证首位的感觉有些宽泛 大家都用的什么呢

2854 次点击
所在节点   程序员  程序员
13 条回复
shenyuzhi
shenyuzhi
324 天前
11 位数字完事。不要想太多
hard2reg
hard2reg
324 天前
11 ,真要有效选短信验证码,
w3sun
w3sun
324 天前
如果精确到 139/136/138 那新的号段怎么办
cokar
cokar
324 天前
首位为 1 ,第二位大于 2 即可
billccn
billccn
323 天前
让我突然想到小灵通时代部分地区所有座机号码都是可以收短信的,如果接收号码不是小灵通的话,会有一个自动语音系统给那个号码打个电话,然后把短信读出来。那时候经常给同学家群发骚扰短信。
opengps
opengps
323 天前
宽泛意味着高兼容,那些只有 13 开头的才叫古老
dyv9
dyv9
323 天前
@hard2reg 对,只能这样,格式只验证 11 个数字,要保证有效就只能通过验证码确认。想要支持香港澳门手机就只有验证码这一个方案。
ThirdFlame
ThirdFlame
322 天前
1 开头 11 为数字即可。 以后可能会出现 9 开通 11 位数字,稍微改一下即可
wu67
wu67
322 天前
讲真, 我好几年前就在用了, 上面的各位网上抄代码麻烦也更新一下好吧
/^1[3-9]\d{9}$/
bzj
bzj
322 天前
连 1 都没必要验证,直接验证长度即可
MMDeJeVS3GtMVLeu
MMDeJeVS3GtMVLeu
322 天前
11 位数字即可,越严格越容易出错,咱们保证不了那天出现一个新号段,也无法确认 19999999999 是不是一个合法的手机号

校验都是烂活,不必太纠结
kenilalexandra
kenilalexandra
322 天前
直接 11 位啊,还写什么正则,写错了就收不到验证码自己就去校验了。
ZeroAsh
ZeroAsh
322 天前
我的建议是无脑走 libphonenumber 解析,记得把默认地区设置为+86

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1028409

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX