现在前端简单判断手机号是否只要判断大于 130 亿,小于 200 亿就可以了。

242 天前
 pdog18

似乎现在除了 10 ,11 ,12 都有号码段了

11103 次点击
所在节点    程序员
90 条回复
gpt5
242 天前
不接受国外手机号么?比如 gv
xloong
242 天前
/^1[3456789]\d{9}$/
其实排除掉 11 开头和 12 开头的就行了
嗯 还有 10 开头
其中的 6 7 9 什么的 也是后来慢慢加上的, 应该不会再加了吧
kylebing
242 天前
是 1 开头的 11 位纯数字字符串就可以了。 `^1\d{10}$`
没必要判断它是不是有效手机号,这个让业务层面去判断,比如短信验证码。
Friday2333
242 天前
jackbrother
242 天前
@goldenalex 别人的就一定对?还是 csdn 的...
wweerrgtc
242 天前
@pdog18 #4
130 亿 超过了 Java int 的范围
weixiangzhe
242 天前
1 开头也是不太稳的,未来其实是规划 92 98 打头的
pdog18
242 天前
@wweerrgtc js 都是 number ,如果 JAVA 也肯定也是 Long 啊,不设计数据库存储的话,没感觉本质区别
cslive
242 天前
前端验证了,后端照样验证
wu67
242 天前
1 开头, 第二位不是 1 2, 后面 9 位全是数字就行...上面 21 楼都把正则贴出来了.
Ashore
242 天前
1 开头,后面十位数字就行了,别整那些花里胡哨的判断。对虚拟号段的用户很不友好
ooee2016
242 天前
要是重要,就验证. 不重要的话爱写啥就写啥
chuunshii
242 天前
@pengtdyd 纯纯懒狗
gniviliving
242 天前
@wu67 是你看错了,还是你 block 了太多人了,我这里看是 24 楼贴了 github 地址
xiaomada
242 天前
多少还是正则验证下,前三位号段限制一下,工信部有公布,宽松点就前两位
x86
242 天前
直接 1 开头 11 位,鬼知道以后添加什么号段
Morii
242 天前
现在正则也算复杂验证了吗?
yolee599
242 天前
@pdog18 #28 超过 uint32 的数字不要用数值类型储存,每次让我使用 uint64 处理数字我都会 f**k 一下制定这个接口的人,在 32bit 系统上又耗性能又耗空间
learnshare
242 天前
重要的发短信验证码
不重要的 1 开头
nyakoy
242 天前
@dzdh #19 永远不要相信用户的输入

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

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

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

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

© 2021 V2EX