工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
dingdangnao

希望 PM 和前端的同学不要再用正则去验证手机号和邮箱了

  •  
  •   dingdangnao · Aug 8, 2019 · 4303 views
    This topic created in 2651 days ago, the information mentioned may be changed or developed.

    今天注册某个 IDaaS 平台的时候发现我 166 的手机号竟然通不过校验,然后好奇心驱使去翻了下代码,验证手机号的正则是

    /^1(3|4|5|7|8)\d{9}$/
    

    现在的手机号有都 166 199 了,如果不能保证代码的时效性,就不要这么写了,好不好。。。更何况还是个专业做身份管理的平台!一下子就不想用了😂

    记得之前某些平台用自己域名邮箱注册的时候也提示校验不通过,给人的体验就很不爽啊!

    有没有什么统一的标准来做这些校验啊???零零散散,各式各样的正则真的太乱了😂

    16 replies  •  2019-08-09 17:24:10 +08:00
    6yong
    6yong
    Aug 8, 2019 via iPhone
    1
    和正则无关吧
    jwk345
    jwk345
    Aug 9, 2019 via iPhone
    2
    很简单,改成 1 加上 10 位数字就好了,不要限制的这么死
    Keyes
    Keyes
    Aug 9, 2019 via iPhone
    3
    求 url 围观
    IvanLi127
    IvanLi127
    Aug 9, 2019 via Android
    4
    正则无辜躺枪。
    glaucus
    glaucus
    Aug 9, 2019 via iPhone
    5
    今天注册某平台不能识别 198 号段....
    dingdangnao
    dingdangnao
    OP
    Aug 9, 2019 via iPhone
    6
    @IvanLi127 #4 表达有误吧😂
    zqx
    zqx
    Aug 9, 2019 via Android❤️1
    8
    前端表单提交前只应该校验格式,不应该校验内容。只要符合数据库字段的设计类型和长度,就应该提交给后端去进一步校验。
    按这个原则去执行,手机号只要是 11 位并且是纯数字就可以,邮箱只要有 @符号且低于 256 位就可以。
    linmq
    linmq
    Aug 9, 2019 via iPhone
    9
    标题表达有误
    ThomasZ
    ThomasZ
    Aug 9, 2019 via Android
    10
    正则不背这个锅
    l00t
    l00t
    Aug 9, 2019❤️4
    12
    我怎么感觉这一集我看过?论坛回档了吗?前几个月也有内容几乎一模一样的一帖。
    sugars
    sugars
    Aug 9, 2019
    13
    怎么又发了一个重复的帖子,前阵子看过一样的帖子
    phpcxy
    phpcxy
    Aug 9, 2019
    14
    未来会有 2 字头的手机号么
    weixiangzhe
    weixiangzhe
    Aug 9, 2019 via iPhone
    15
    未来没有 2 开头 有 92 和 98 的
    Fiona7heHuman
    Fiona7heHuman
    Aug 9, 2019
    16
    正则又做错了什么
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2047 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 14:59 · PVG 22:59 · LAX 06:59 · JFK 09:59
    ♥ Do have faith in what you're doing.