【问题标题】:JavaScript regular expression for decimal numbers [duplicate]十进制数的JavaScript正则表达式[重复]
【发布时间】:2018-02-12 08:59:48
【问题描述】:

我正在寻找 JavaScript 中的正则表达式,用于测试字符串是小数点前一位还是两位数以及小数点后最多五位的数字。

正确值示例:

  • 12.345
  • 12.12
  • 1.3
  • 1.12345
  • 12

什么是正确的正则表达式?

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    你可以试试:

    ^\d{1,2}(\.\d{1,5})?$
    

    解释:

    1. ^ 字符串开头
    2. \d{1,2}12数字号码
    3. (开启捕获组
    4. \.
    5. \d{1,5}号码15数字
    6. )关闭捕获组
    7. ? 使整个捕获组可选

    $ 字符串结尾

    Demo

    const regex = /^\d{1,2}(\.\d{1,5})?$/gm;
    const str = `12.121`;
    
    console.log(regex.test(`12.121`));
    console.log(regex.test(`1`));
    console.log(regex.test(`1.1`));
    console.log(regex.test(`12.123`));
    console.log(regex.test(`1.123`));
    console.log(regex.test(`1.1234567`));

    【讨论】:

    • 它有效,但您应该解释正则表达式,而不仅仅是发布它。此外,最好在答案中包含一个 sn-p,而不是一个场外链接。也就是说,你比 OP 付出了更多的努力,所以也许它应该被关闭:p
    • 我正在尝试在 angular4 验证器模式中使用它,但它在那里不起作用。所以你能推荐一个可以在验证器模式中使用的方法或使用验证器模式的正确方法
    • @bharathkells 阅读How to Ask,然后使用您的代码发布一个符合提出好问题标准的问题。不要试图劫持那些真正想帮助你的人,把新信息塞到他们脸上,并期待他们为你做你的工作。阅读然后再问;)
    • 真的很抱歉,下次我一定会阅读如何提问并发布问题。无论如何感谢您的解释。
    • @Rizwan 这个工作 12 岁。?
    【解决方案2】:

    正则表达式

    /^\d{1,2}(\.\d{1,5})?$/
    

    演示

    var regexp = /^\d{1,2}(\.\d{1,5})?$/;
    
    console.log("'10.5' returns " + regexp.test('10.5'));
    console.log("'100.5' returns " + regexp.test('100.5'));
    console.log("'82.744' returns " + regexp.test('82.744'));
    console.log("'13.' returns " + regexp.test('13.'));
    console.log("'.744' returns " + regexp.test('.744'));
    console.log("'.74400' returns " + regexp.test('.74400'));
    console.log("'5.74400' returns " + regexp.test('5.74400'));

    说明

    1. / / : 表达式的开头和结尾
    2. ^ : 后面的内容应该在你正在测试的字符串的开头
    3. \d{1,2} :这里应该有一位或两位数字
    4. ( )? : 这部分是可选的
    5. \.:这里有一个点
    6. \d{1,5} : 这里应该是一到五位数字
    7. $ : 前面的任何内容都应该在您正在测试的字符串的末尾

    提示

    您可以直接在浏览器中使用regexr.comregex101.com 来测试正则表达式!

    【讨论】:

      猜你喜欢
      • 2017-01-24
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 2016-03-04
      相关资源
      最近更新 更多