1
Zerek 2022-07-01 01:40:28 +08:00 via Android
10000000000 < phone < 20000000000
就这样 |
4
ttgo 2022-07-01 07:16:28 +08:00
好的,我查查网上有没有人更新了正则表达式。
|
5
zhouwb 2022-07-01 07:40:20 +08:00
正在考虑要选个什么号呢,192168 后面写什么呢?
|
6
elfive 2022-07-01 07:48:32 +08:00 via iPhone
出来这么多年的 191 号段还有好多政务机关和个别另外服务没有适配,192 估计只会更长。
|
9
estk 2022-07-01 08:24:18 +08:00 via Android
我的适配规则是,1 开头的 11 位号码都当做手机号
|
10
hervey0424 2022-07-01 08:24:36 +08:00
@FrankHB replace("+86","")
|
11
jslang 2022-07-01 08:30:50 +08:00
/^1[3-9]\d{9}$/
|
12
lcy630409 2022-07-01 08:51:46 +08:00
不管,直接提交给 api ,接口说有问题 就有问题,没问题就没问题
|
13
cpstar 2022-07-01 09:02:48 +08:00 1
@lcy630409 12# 😂刚看隔壁帖子,说正则验证域名,最佳方法是扔给 DNS 能解析 IP 就是正常域名,效果等同👍
|
14
abigeater 2022-07-01 09:15:47 +08:00
从有 19 开头的手机号后就把正则改成#11 楼一样了
|
15
liuzhaowei55 2022-07-01 09:19:53 +08:00 via iPhone
等短信通道支持了,然后有用户投诉的时候再支持。
|
16
anguiao 2022-07-01 09:25:26 +08:00 1
1 开头、11 位数字,其他我都不校验。号段隔一段时间出一个,做那么严格的校验,意义在哪?
|
17
qwerthhusn 2022-07-01 09:27:07 +08:00
1[3-9]\\d{9}
|
18
imydou 2022-07-01 09:29:23 +08:00
我微信几年前就绑定了 19298887870
添加好友能搜到 |
19
xiangyuecn 2022-07-01 09:41:00 +08:00 1
|
22
lcy630409 2022-07-01 10:13:41 +08:00
@cpstar 是这个意思,你不管怎么支持,你的上游短信接口如果不支持 鸟用没有,还不用直接丢给上游接口,他说咋地就咋地
|
23
weixiangzhe 2022-07-01 10:14:22 +08:00
|
24
deplivesb 2022-07-01 10:17:11 +08:00
我腾讯王卡 的 166 号段,现在还有地方提示手机号不合法呢
|
25
vZexc0m 2022-07-01 11:03:49 +08:00
^(?:13|14|15|16|17|18|19)[0-9]{9}$
|
26
IvanLi127 2022-07-01 11:09:47 +08:00 1
|
27
pengtdyd 2022-07-01 13:37:44 +08:00
手机号直接不验证,varchar(200),不光考虑到号段变更的问题,还有每个国家都不同,长度也不一样,格式也不同,用的哪个通信运营商就直接丢过去完事。
|
28
tyrone2333 2022-07-01 13:43:24 +08:00
/^1\d{10}$/ 专治一切花里胡哨
|
29
hs444 2022-07-01 14:12:39 +08:00
真要确认手机号有效性就用短信验证码,纯用正就能校验就是自己给自己找麻烦
|
30
issakchill 2022-07-01 14:22:12 +08:00
public final static Pattern MOBILE = Pattern.compile("(?:0|86|\\+86)?1[3-9]\\d{9}");
|
31
AoEiuV020CN 2022-07-01 16:17:27 +08:00 1
|
32
ysc3839 2022-07-01 16:23:50 +08:00 via Android
@AoEiuV020CN 国际手机号,只需要判断第一个字符是加号,后续都是数字就可以了吧?国内的话全都是数字即可。
|
33
yaoyao1128 2022-07-01 16:44:18 +08:00
@ysc3839 还需要考虑境外手机号前面 0 的问题。部分国家的手机号也有类似区号的 0
Alipay 对于选择韩国后输入 1092811234 和 01092811234 就认成了两个账户…… P.S. 那天看到一个正则 133 号段都被当成了非手机号……………… 14 、16 、17 、19 直接没有考虑 |
35
ysc3839 2022-07-01 17:06:09 +08:00 via Android
@yaoyao1128 看楼上那个代码,不需要考虑这种情况吧?我觉得与其直接不检查,不如检查一下是不是全都是数字,或者开头是加号、后面全是数字。
|
36
brust 2022-07-01 17:06:23 +08:00
return phone.lenght == 11
|
37
whitehack 2022-07-01 17:19:42 +08:00
|
38
realpg 2022-07-01 17:40:01 +08:00
130 0000 0000 ~ 199 9999 9999
我在出 186 那年开始就这么写了 |
39
sometime 2022-07-01 17:46:59 +08:00
调用手机号码归属地查询,能查到的就是手机号😂
|
40
AoEiuV020CN 2022-07-01 17:55:21 +08:00
@ysc3839 #32 我这里的业务场景是不带区号的手机号,非要判断其实是能做到的,只是因为这个方法总出 bug ,就干脆不判断了,
至于你说的加号,是不是忘了国内也可以+86 的? |
41
ysc3839 2022-07-01 18:11:37 +08:00
@AoEiuV020CN 按你的需求,是国际手机号和国内手机号其中之一就满足,那带上 +86 的话也落到了“国际手机号”里面,不影响结果。我说的是你截图的这种需求,检查一下全都是数字,或者开头是加号、后面全是数字,会比不检查更好,别的需求当然是另当别论了。
|
44
AoEiuV020CN 2022-07-01 18:31:47 +08:00
@ysc3839 #41 你没明白我的意思,需求明确甚至最好能给出单元测试的话检查手机号不算麻烦,
问题就是需求不明确,功能在变化,一开始并没有外国手机号的要求,一开始限制号码段也没有 bug , 我说没有区号也只是现在这样,写代码的人考虑不了未来的事, 种种原因导致这段正则反复改反复有问题,最后才直接 return true 了, 反正最终发短信失败那就是号码不对, |
47
realpg 2022-07-02 05:20:07 +08:00
|
48
realpg 2022-07-02 05:22:08 +08:00
一直想搞几个手机号:
17216255255 19216819911 前面的有路由,归属地重庆 后面的还没定归属地路由 |
50
nanjoyoshino 2022-07-02 09:17:54 +08:00
要是不能一直更新规则还不如干脆别做匹配,我的联通 166 号段的卡都用了多少年了,还有一些软件说是非法号码
|
51
zabio 2022-07-02 12:25:07 +08:00
昨天到手 192 号卡打不了电话,上不了网,信号极其不稳定
|