针对不断出现的新号段(199/198/166),大家前端都是怎么处理? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
omghonor
V2EX    问与答

针对不断出现的新号段(199/198/166),大家前端都是怎么处理?

  •  
  •   omghonor 2018-01-12 12:52:41 +08:00 7212 次点击
    这是一个创建于 2832 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rt 是每次都重写一次正则? 还是交给后端判断? 还是有什么好的处理方式?

    42 条回复    2018-01-13 11:38:51 +08:00
    male110
        1
    male110  
       2018-01-12 13:01:42 +08:00
    不处理
    kslr
        2
    kslr  
       2018-01-12 13:05:43 +08:00
    只要是数字就行,反正还有短信
    learnshare
        3
    learnshare  
       2018-01-12 13:08:48 +08:00
    等用户逼急了来反馈?
    yexm0
        4
    yexm0  
       2018-01-12 13:08:59 +08:00 via iPhone
    以后开放携号转网后会更烦
    kikyous
        5
    kikyous  
       2018-01-12 13:09:27 +08:00 via Android
    1 开头,11 位
    codermagefox
        6
    codermagefox  
       2018-01-12 13:13:43 +08:00   10
    没处理过,不过唆点个人看法.


    人呐就都不知道,自己就不可以预料。一个前端的工作啊,当然要靠自我奋斗,但是也要考虑到公司的需求。


    我绝对不知道,我作为前端怎么就要负责处理具体的电话校验了.


    所以技术经理跟我讲话,说“技术都决定啦,要前端来写电话号码校验”,我说让后端写吧。


    我实在我也不是谦虚,我一个前端怎么就要写正则检查电话号码了呢?


    但是呢,技术经理讲“大家已经研究决定了”.


    所以后来我就念了两首诗.


    那么所以我开始写了。其实校验的话也没有什么别的,大概三个校验:

    一个,添加了虚拟号码的号码段.

    第二个,把新出现的号码段加入了校验库.

    第三个,就是我们知道的前后端都要验证.


    如果说还有一点什么成绩,就是把校验的 input 封装成了组件!

    这个对项目的效率有很大的关系,写成组件以后大家就不用再考虑写校验了,也不用再上 V2 提这种问题了.

    但这些都是次要的,我主要的我就是三件事情,很惭愧,就做了一点微小的工作,谢谢大家。
    Morriaty
        7
    Morriaty  
       2018-01-12 13:23:09 +08:00   1
    把锅丢给后端
    qq292382270
        8
    qq292382270  
       2018-01-12 13:26:15 +08:00
    1 开头&&11 位
    yksoft1
        9
    yksoft1  
       2018-01-12 13:37:04 +08:00
    @codermagefox 后端一律不得经商!
    Telegram
        10
    Telegram  
       2018-01-12 13:48:31 +08:00 via iPhone   1
    1\d{10}

    1 开头,11 位,管你怎么来
    smileawei
        11
    smileawei  
       2018-01-12 14:10:15 +08:00
    @codermagefox 已经撅腚了你这样讲会不会有一种硬点的感觉
    gen900
        12
    gen900  
       2018-01-12 14:12:25 +08:00 via iPhone
    11 位 1 开头的各位,怎么处理+8613xxxxx 这样的输入?
    des
        13
    des  
       2018-01-12 14:15:10 +08:00 via Android
    11 位的各位,没考虑座机?
    mydns
        14
    mydns  
       2018-01-12 14:16:31 +08:00
    1 开头 11 位 客户只要认为自己填写的号码能收到短信验证码就行
    输入框只能输 11 位 +86 暂未考虑
    crab
        15
    crab  
       2018-01-12 14:17:50 +08:00
    @gen900 允许国外号码的才有 86 这种吧。86 单独一个输入框
    gen900
        16
    gen900  
       2018-01-12 14:21:11 +08:00 via iPhone
    @crab 86 是中国的区号,国内打国内可以加可以不加。+或者 00 也是可选项。
    0ZXYDDu796nVCFxq
        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)
    yingfengi
        18
    yingfengi  
       2018-01-12 14:27:27 +08:00 via Android
    不让用
    jiangzhuo
        19
    jiangzhuo  
       2018-01-12 14:32:11 +08:00
    这些不是新出现的号段,是很早前就用于移动通信的网号
    如果你们前端不认得话,叫以前写这段代码的同学来修 bug 呗
    crab
        20
    crab  
       2018-01-12 14:42:13 +08:00
    @gen900 知道 86 国内啊,所以不支持国外号码的就默认不需要 86。
    Sypher
        21
    Sypher  
       2018-01-12 14:45:16 +08:00
    简单点, /1\d{10}/
    geelaw
        22
    geelaw  
       2018-01-12 14:48:10 +08:00
    一个最简单的解决方案是 /^1[0-9]{10}$/ 然后真的尝试发短信去判断是否有这个号码
    Felldeadbird
        23
    Felldeadbird  
       2018-01-12 16:03:13 +08:00
    手机号码前端只是验证 长度是否符合就好了。剩余的交给后端的短信接口去验证是否成功。
    zjqzxc
        24
    zjqzxc  
       2018-01-12 17:51:23 +08:00
    “用所填写的手机号给一个指定号码发送一条指定内容的短信”
    zhouxuchen
        25
    zhouxuchen  
       2018-01-12 17:54:31 +08:00
    已经放弃验证了,11 位 1 开头的数字就算验证通过了
    lululau
        26
    lululau  
       2018-01-12 18:11:00 +08:00
    为什么要校验手机号。。。
    banricho
        27
    banricho  
       2018-01-12 18:12:54 +08:00
    把锅丢给后端 + 1
    F281M6Dh8DXpD1g2
        28
    F281M6Dh8DXpD1g2  
       2018-01-12 18:16:57 +08:00 via iPhone
    @jiangzhuo 中国是去年才批的,用户太多,号码不够用了
    crysislinux
        29
    crysislinux  
       2018-01-12 18:23:17 +08:00
    没必要严格验证的,位数差不多就行了,大概率不会出问题,反正别人要搞你的的话乱填个号你还不是没办法
    jiangzhuo
        30
    jiangzhuo  
       2018-01-12 18:23:42 +08:00
    @liprais #28 楼主在工信部公布《电信网编号计划( 2017 年版)》的时候就该改的 BUG 留到了今年
    robinlovemaggie
        31
    robinlovemaggie  
       2018-01-12 18:25:41 +08:00
    废掉短信验证,改用 2FA,一劳永逸。
    flashback313
        32
    flashback313  
       2018-01-12 18:27:05 +08:00
    数字就行了撒
    rswl
        33
    rswl  
       2018-01-12 18:40:43 +08:00
    不管
    notreami
        34
    notreami  
       2018-01-12 18:53:01 +08:00
    现在都是,用户自己发短信来验证。省钱,还保证肯定是真的手机号码。。然后,遇到这种的,我都会吐槽。
    dami
        35
    dami  
       2018-01-12 22:30:01 +08:00
    到时候我们会表态的。
    MonoLogueChi
        36
    MonoLogueChi  
       2018-01-13 01:51:56 +08:00 via Android
    新号段不给用,反正大厂都不给验证,我们小厂一并拒绝算了
    tyrealgray
        37
    tyrealgray  
       2018-01-13 02:11:56 +08:00 via Android
    谷歌有库可以直接用
    konakona
        38
    konakona  
       2018-01-13 02:51:28 +08:00
    不处理,11 位就 1 开头,数字,ok。
    如果有区号,就把区号分割成另一个字段一同 post 到后端。
    Valyrian
        39
    Valyrian  
       2018-01-13 02:55:21 +08:00
    国外手机呢?
    leekafai
        40
    leekafai  
       2018-01-13 08:42:17 +08:00 via Android
    一开头第二位非零共十一位,这个正则在我司代码里躺了 5 年
    hugee
        41
    hugee  
       2018-01-13 08:46:12 +08:00 via Android
    用不着处理了,除了 13,186 开头的一律不买。
    tmxklzp
        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 月份最新正则
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3194 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 00:33 PVG 08:33 LAX 17:33 JFK 20:33
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86