V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Freeego
V2EX  ›  程序员

国际手机号的验证放在前端做还是后端做?

  •  
  •   Freeego · 2020-03-17 14:56:53 +08:00 · 2698 次点击
    这是一个创建于 1500 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本来只有国内手机号的话前后端都会写个正则来验证,现在要支持国际手机号,需要判断每个手机号的合法性。

    网上找了个验证号码归属地的 api,是在前端调用它呢还是先把号码传到后端让后端验证?这个接口速度还是很快的,感觉放在前端也很方便,但不知道规不规范

    drydiy
        1
    drydiy  
       2020-03-17 15:05:16 +08:00
    一般都是前后端都校验。
    TabGre
        2
    TabGre  
       2020-03-17 15:09:05 +08:00
    前端校验提供基本排错交互
    后端理所当然也要校验
    tyrantZhao
        3
    tyrantZhao  
       2020-03-17 15:12:33 +08:00
    都要
    linKnowEasy
        4
    linKnowEasy  
       2020-03-17 15:14:10 +08:00
    一起做啊. 这两不冲突 , 一般要求都做
    1. 前端做. 减少请求量
    2. 后端做, 减少脏数据
    hallDrawnel
        5
    hallDrawnel  
       2020-03-17 15:17:47 +08:00
    都要校验,前端校验侧重点是用户体验。后端侧重点就是安全性了。
    不要信任任何从前端传过来的数据。
    Phariel
        6
    Phariel  
       2020-03-17 15:19:11 +08:00
    都要做 在任何交互的地方都当来源数据不信赖
    Freeego
        7
    Freeego  
    OP
       2020-03-17 15:22:30 +08:00
    @drydiy
    @TabGre
    @tyrantZhao
    @linKnowEasy
    @hallDrawnel
    好吧,就是不知道第三方的接口有没有频率限制
    ElmerZhang
        8
    ElmerZhang  
       2020-03-17 15:46:12 +08:00
    不需要调接口,libphonenumber 就可以验证,前端可以用 libphonenumber-js
    wobuhuicode
        9
    wobuhuicode  
       2020-03-17 15:55:43 +08:00
    前后端都验证。主要还是后端。前端只是为了避免一些无效请求减轻服务器压力
    useben
        10
    useben  
       2020-03-17 16:08:27 +08:00
    前后都检查, 为了安全性
    Mohanson
        11
    Mohanson  
       2020-03-17 16:10:37 +08:00
    还是别做了, 每次 3 大流氓发新的号码段网上就一篇哀嚎
    loading
        12
    loading  
       2020-03-17 16:12:18 +08:00
    前端为了体验,后端为了安全。
    如果为了统一方便,可以由后端统一正则表达式,通过 json 给前端。
    Freeego
        13
    Freeego  
    OP
       2020-03-17 16:21:21 +08:00
    @Mohanson 国内的统一用 1 加 10 个数字验证 :doge
    leido
        14
    leido  
       2020-03-17 16:24:48 +08:00
    @Freeego 那 11,12 开头的明显不是手机
    huaguzi
        15
    huaguzi  
       2020-03-17 16:27:07 +08:00
    小朋友,你要理解,其实所谓的前端,实质是 http 协议的网络请求。
    所以,前端你要不要校验,本质上无所谓,当然了,交互很重要不是吗?所以还是做一下比较好。
    至于后端,服务器诶,任何请求和参数都不要放过校验。。。
    tongyang
        16
    tongyang  
       2020-03-17 16:48:29 +08:00
    都咬啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3668 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:39 · PVG 18:39 · LAX 03:39 · JFK 06:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.