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

2020-03-17 14:56:53 +08:00
 Freeego

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

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

2855 次点击
所在节点    程序员
16 条回复
drydiy
2020-03-17 15:05:16 +08:00
一般都是前后端都校验。
TabGre
2020-03-17 15:09:05 +08:00
前端校验提供基本排错交互
后端理所当然也要校验
tyrantZhao
2020-03-17 15:12:33 +08:00
都要
linKnowEasy
2020-03-17 15:14:10 +08:00
一起做啊. 这两不冲突 , 一般要求都做
1. 前端做. 减少请求量
2. 后端做, 减少脏数据
hallDrawnel
2020-03-17 15:17:47 +08:00
都要校验,前端校验侧重点是用户体验。后端侧重点就是安全性了。
不要信任任何从前端传过来的数据。
Phariel
2020-03-17 15:19:11 +08:00
都要做 在任何交互的地方都当来源数据不信赖
Freeego
2020-03-17 15:22:30 +08:00
@drydiy
@TabGre
@tyrantZhao
@linKnowEasy
@hallDrawnel
好吧,就是不知道第三方的接口有没有频率限制
ElmerZhang
2020-03-17 15:46:12 +08:00
不需要调接口,libphonenumber 就可以验证,前端可以用 libphonenumber-js
wobuhuicode
2020-03-17 15:55:43 +08:00
前后端都验证。主要还是后端。前端只是为了避免一些无效请求减轻服务器压力
useben
2020-03-17 16:08:27 +08:00
前后都检查, 为了安全性
Mohanson
2020-03-17 16:10:37 +08:00
还是别做了, 每次 3 大流氓发新的号码段网上就一篇哀嚎
loading
2020-03-17 16:12:18 +08:00
前端为了体验,后端为了安全。
如果为了统一方便,可以由后端统一正则表达式,通过 json 给前端。
Freeego
2020-03-17 16:21:21 +08:00
@Mohanson 国内的统一用 1 加 10 个数字验证 :doge
leido
2020-03-17 16:24:48 +08:00
@Freeego 那 11,12 开头的明显不是手机
huaguzi
2020-03-17 16:27:07 +08:00
小朋友,你要理解,其实所谓的前端,实质是 http 协议的网络请求。
所以,前端你要不要校验,本质上无所谓,当然了,交互很重要不是吗?所以还是做一下比较好。
至于后端,服务器诶,任何请求和参数都不要放过校验。。。
tongyang
2020-03-17 16:48:29 +08:00
都咬啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/653562

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX