以下正则基于 "中国内地移动终端通讯号码" 使用 regexgen 构建生成
正则验证范围包括 中国移动、中国联通、中国电信(含虚拟运营商号段,不含物联网及卫星号段)
^1(?:70\d|(?:9[89]|8[0-24-9]|7[135-8]|66|5[0-35-9])\d|3(?:4[0-8]|[0-35-9]\d))\d{7}$
本正则构建于 2017/12/22 请注意实效性,请以最新的《电信网编号计划》为准。
see https://zh.wikipedia.org/wiki/中国内地移动终端通讯号码
see http://www.miit.gov.cn/n1146290/n4388791/c5623706/content.html
see https://septs.pw/archives/59
如需生成器请参考如下
https://gist.github.com/septs/8cb9f6298fa59caef39229fb04c36609
1
lhx2008 2017-12-22 08:13:37 +08:00 via Android
好复杂,不过收藏了
|
2
ReysC 2017-12-22 08:34:25 +08:00
多谢共享~
--- 这个要保存起来,下次做验证用。 |
3
xujiang 2017-12-22 08:37:23 +08:00
mark,多谢
|
4
jingniao 2017-12-22 08:43:20 +08:00 via Android
说实话,我看到过验证 1 开头,然后 10 位数字的的……
|
5
rogwan 2017-12-22 08:46:41 +08:00 via Android
^1[345789][0-9]{9}$
极简版,欢迎使用 |
6
superpeaser 2017-12-22 08:48:35 +08:00 via iPhone
前台验证 1 开头,11 位字符,哈哈哈
@jingniao |
7
0ZXYDDu796nVCFxq 2017-12-22 08:51:58 +08:00 via iPhone
替换掉空格,减号,然后转成整数类型,比较几次大小不是更好?
|
8
Chappako 2017-12-22 08:52:18 +08:00 4
|
11
zlhsvc 2017-12-22 09:03:06 +08:00
这样验证很久了 ^1(\d){10}$
|
12
nameryan 2017-12-22 09:03:33 +08:00
仿佛又回到了过去的 V2EX,这才有点感觉
|
13
DrJoseph 2017-12-22 09:08:27 +08:00
这样的帖子不应该被埋没,支持一下
|
14
lingo 2017-12-22 09:11:07 +08:00
我也 1d10 验证了很久。。。
用户非要输个错的,乱输个别人的我也验证不了不是。 |
15
izzyleung 2017-12-22 09:19:35 +08:00 1
|
16
SourceMan 2017-12-22 09:29:57 +08:00
已收藏
这样的帖子难得 |
17
AdamChrist 2017-12-22 09:33:35 +08:00
3q
|
18
bxj 2017-12-22 09:34:17 +08:00
死盖伊.....
|
20
wzw 2017-12-22 10:38:03 +08:00
大家来说说 香港 台湾 美国 电话号码 的正则
|
21
34C 2017-12-22 10:46:31 +08:00
前端验证 1 开头 10 数字,后端发短信验证码才是王道……
如果不需要短信验证码的,怎么验都是白搭,填个 13800138000 就过了 |
22
ZxBing0066 2017-12-22 11:08:23 +08:00
没啥意义 直接 /1\d{10}/够用了,真实性还得靠短信
|
23
mokeyjay 2017-12-22 11:10:15 +08:00
没啥意义 直接 /1\d{10}/够用了,真实性还得靠短信 +1
|
24
freeminder 2017-12-22 11:11:43 +08:00
写这么多,尾巴还是`\d{7}`
|
27
pofycn 2017-12-22 11:40:26 +08:00 via Android
马一下,说不定以后用的到哈哈
|
28
guyskk0x0 2017-12-22 11:42:56 +08:00 via Android
重要的发短信验证码验证,不重要的验证下 1 开头 11 位数字就行了,复杂的正则容易误杀正常手机号
|
29
guyskk0x0 2017-12-22 11:46:12 +08:00 via Android
之前遇到过用户反馈注册不了,排查发现是正则的锅,这种有时效性的正则尽量不要用
|
30
quicknight 2017-12-22 11:55:09 +08:00
用正则式验证手机号,除了给维护带来麻烦,几乎没有好处
验证手机号,只能靠短信 |
31
quicknight 2017-12-22 11:56:00 +08:00
@jingniao 这种都比复杂的正则式要靠谱
|
33
geelaw 2017-12-22 12:05:29 +08:00 via iPhone
不要用 \d,它不是 [0-9] 的另一种写法
|
34
Oo0 2017-12-22 12:08:32 +08:00
短信才靠譜
|
35
Septembers OP |
36
geelaw 2017-12-22 12:25:24 +08:00
@Septembers 你的第一个链接不是已经告诉你了么?
|
37
jason19659 2017-12-22 13:47:50 +08:00
1\d{10}
|
38
GooMS 2017-12-22 13:52:26 +08:00 via Android
我一般只验证是数字就行了,然后靠短信验证码
|
39
q409195961 2017-12-22 14:27:11 +08:00
有谁分享下最新的省市区 JSON 数据呗
|
40
Septembers OP |
41
ETiV 2017-12-22 14:56:25 +08:00 via iPhone
前端 1d10
后端遇到 100d8 的就通过微信发验证码给我,可以有测试用的账户 |
42
evolify 2017-12-22 16:11:16 +08:00
早来 v2 就好了,刚刚自己琢磨了半天
|
43
bk201 2017-12-24 10:10:08 +08:00 via iPhone
这样靠正则验证容易出问题
|