V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wufeng
V2EX  ›  问与答

求 javascript 大牛 帮助

  •  
  •   wufeng · 2019-05-08 14:45:35 +08:00 · 1424 次点击
    这是一个创建于 1805 天前的主题,其中的信息可能已经有所发展或是发生改变。
    判断美国的手机号
    我想判断 1 开头 第二不包含 0 后面 9 位数字
    但是一直出错
    不知道正则哪写得不对?

    usmobile='1 ‪ 5145168135 ‬‬‬';

    if (!(/^1[1|2|3|4|5|6|7|8|9]\d{9}$/.exec(usmobile)))
    {
    alert("number wrong");
    }
    7 条回复    2019-05-09 16:17:08 +08:00
    wly19960911
        1
    wly19960911  
       2019-05-08 14:58:52 +08:00
    可以简写 ^1[1-9]\d{9}$

    测试用例 15145168135。 你的例子我也是通过的啊,奇怪了,
    wly19960911
        2
    wly19960911  
       2019-05-08 15:00:20 +08:00
    总感觉你测试用例里面有某个字符不正常,存在隐藏字符。
    lovedebug
        3
    lovedebug  
       2019-05-08 15:00:44 +08:00
    这类 regex 为啥不 google 到 StackOverflow 问? 美国手机号也很多种好吗。
    wly19960911
        4
    wly19960911  
       2019-05-08 15:02:23 +08:00   ❤️ 1
    你自己看一下,你的用例有隐藏的字符,我也不知道这个是什么。
    wufeng
        5
    wufeng  
    OP
       2019-05-08 15:15:05 +08:00
    @wly19960911 对 解决了
    就是这个问题 数据库读取出来 有隐藏的字符
    正则没问题
    c4f36e5766583218
        6
    c4f36e5766583218  
       2019-05-09 16:04:18 +08:00
    @wly19960911 #4 这个隐藏字符怎么显示成你这样的?
    wly19960911
        7
    wly19960911  
       2019-05-09 16:17:08 +08:00

    @c4f36e5766583218 #6 我看了下 html 的内容,因为 html 里面, '<' '>' 需要转义才能正常显示。所以我留心了下 html 的显示,这个在字符串里面反而看不出来。html 的内容里面可以。

    至于为什么我知道有隐藏字符,因为我手打的字符串和楼主的字符串没法相等。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5055 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:48 · PVG 17:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.