rt 是每次都重写一次正则? 还是交给后端判断? 还是有什么好的处理方式?
1 male110 2018-01-12 13:01:42 +08:00 不处理 |
2 kslr 2018-01-12 13:05:43 +08:00 只要是数字就行,反正还有短信 |
![]() | 3 learnshare 2018-01-12 13:08:48 +08:00 等用户逼急了来反馈? |
![]() | 4 yexm0 2018-01-12 13:08:59 +08:00 via iPhone 以后开放携号转网后会更烦 |
5 kikyous 2018-01-12 13:09:27 +08:00 via Android 1 开头,11 位 |
![]() | 6 codermagefox 2018-01-12 13:13:43 +08:00 ![]() 没处理过,不过唆点个人看法. 人呐就都不知道,自己就不可以预料。一个前端的工作啊,当然要靠自我奋斗,但是也要考虑到公司的需求。 我绝对不知道,我作为前端怎么就要负责处理具体的电话校验了. 所以技术经理跟我讲话,说“技术都决定啦,要前端来写电话号码校验”,我说让后端写吧。 我实在我也不是谦虚,我一个前端怎么就要写正则检查电话号码了呢? 但是呢,技术经理讲“大家已经研究决定了”. 所以后来我就念了两首诗. 那么所以我开始写了。其实校验的话也没有什么别的,大概三个校验: 一个,添加了虚拟号码的号码段. 第二个,把新出现的号码段加入了校验库. 第三个,就是我们知道的前后端都要验证. 如果说还有一点什么成绩,就是把校验的 input 封装成了组件! 这个对项目的效率有很大的关系,写成组件以后大家就不用再考虑写校验了,也不用再上 V2 提这种问题了. 但这些都是次要的,我主要的我就是三件事情,很惭愧,就做了一点微小的工作,谢谢大家。 |
![]() | 7 Morriaty 2018-01-12 13:23:09 +08:00 ![]() 把锅丢给后端 |
![]() | 8 qq292382270 2018-01-12 13:26:15 +08:00 1 开头&&11 位 |
![]() | 9 yksoft1 2018-01-12 13:37:04 +08:00 @codermagefox 后端一律不得经商! |
![]() | 10 Telegram 2018-01-12 13:48:31 +08:00 via iPhone ![]() 1\d{10} 1 开头,11 位,管你怎么来 |
![]() | 11 smileawei 2018-01-12 14:10:15 +08:00 @codermagefox 已经撅腚了你这样讲会不会有一种硬点的感觉 |
![]() | 12 gen900 2018-01-12 14:12:25 +08:00 via iPhone 11 位 1 开头的各位,怎么处理+8613xxxxx 这样的输入? |
![]() | 13 des 2018-01-12 14:15:10 +08:00 via Android 11 位的各位,没考虑座机? |
14 mydns 2018-01-12 14:16:31 +08:00 1 开头 11 位 客户只要认为自己填写的号码能收到短信验证码就行 输入框只能输 11 位 +86 暂未考虑 |
17 0ZXYDDu796nVCFxq 2018-01-12 14:22:50 +08:00 138-0013-8000 138 0013 8000 (138) 0013 8000 0138 0013 8000 +86 13800138000 1-877-320-MSFT (6738) |
18 yingfengi 2018-01-12 14:27:27 +08:00 via Android 不让用 |
![]() | 19 jiangzhuo 2018-01-12 14:32:11 +08:00 这些不是新出现的号段,是很早前就用于移动通信的网号 如果你们前端不认得话,叫以前写这段代码的同学来修 bug 呗 |
![]() | 21 Sypher 2018-01-12 14:45:16 +08:00 简单点, /1\d{10}/ |
![]() | 22 geelaw 2018-01-12 14:48:10 +08:00 一个最简单的解决方案是 /^1[0-9]{10}$/ 然后真的尝试发短信去判断是否有这个号码 |
![]() | 23 Felldeadbird 2018-01-12 16:03:13 +08:00 手机号码前端只是验证 长度是否符合就好了。剩余的交给后端的短信接口去验证是否成功。 |
![]() | 24 zjqzxc 2018-01-12 17:51:23 +08:00 “用所填写的手机号给一个指定号码发送一条指定内容的短信” |
![]() | 25 zhouxuchen 2018-01-12 17:54:31 +08:00 已经放弃验证了,11 位 1 开头的数字就算验证通过了 |
![]() | 26 lululau 2018-01-12 18:11:00 +08:00 为什么要校验手机号。。。 |
![]() | 27 banricho 2018-01-12 18:12:54 +08:00 把锅丢给后端 + 1 |
![]() | 28 F281M6Dh8DXpD1g2 2018-01-12 18:16:57 +08:00 via iPhone @jiangzhuo 中国是去年才批的,用户太多,号码不够用了 |
![]() | 29 crysislinux 2018-01-12 18:23:17 +08:00 没必要严格验证的,位数差不多就行了,大概率不会出问题,反正别人要搞你的的话乱填个号你还不是没办法 |
![]() | 31 robinlovemaggie 2018-01-12 18:25:41 +08:00 废掉短信验证,改用 2FA,一劳永逸。 |
![]() | 32 flashback313 2018-01-12 18:27:05 +08:00 数字就行了撒 |
33 rswl 2018-01-12 18:40:43 +08:00 不管 |
34 notreami 2018-01-12 18:53:01 +08:00 现在都是,用户自己发短信来验证。省钱,还保证肯定是真的手机号码。。然后,遇到这种的,我都会吐槽。 |
35 dami 2018-01-12 22:30:01 +08:00 到时候我们会表态的。 |
36 MonoLogueChi 2018-01-13 01:51:56 +08:00 via Android 新号段不给用,反正大厂都不给验证,我们小厂一并拒绝算了 |
![]() | 37 tyrealgray 2018-01-13 02:11:56 +08:00 via Android 谷歌有库可以直接用 |
![]() | 38 konakona 2018-01-13 02:51:28 +08:00 不处理,11 位就 1 开头,数字,ok。 如果有区号,就把区号分割成另一个字段一同 post 到后端。 |
![]() | 39 Valyrian 2018-01-13 02:55:21 +08:00 国外手机呢? |
![]() | 40 leekafai 2018-01-13 08:42:17 +08:00 via Android 一开头第二位非零共十一位,这个正则在我司代码里躺了 5 年 |
![]() | 41 hugee 2018-01-13 08:46:12 +08:00 via Android 用不着处理了,除了 13,186 开头的一律不买。 |
42 tmxklzp 2018-01-13 11:38:51 +08:00 /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])[0-9]{8}$/ 昨天百度的,2018 年 1 月份最新正则 |