十进制数的JavaScript正则表达式

时间:2018-02-12 08:59:49

标签: javascript regex

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

正确值的示例:

  • 12.345
  • 12.12
  • 1.3
  • 1.12345
  • 12

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

2 个答案:

答案 0 :(得分:1)

你可以尝试:

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

说明:

  1. ^字符串的开头
  2. \d{1,2} 12位数
  3. (开放捕获组
  4. \. dot
  5. \d{1,5}号码15位数
  6. )关闭捕获组
  7. ?使整个捕获组可选
  8. $ end of string

    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`));

答案 1 :(得分:0)

正则表达式

/^\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. $:在此之前的任何内容都应该在您正在测试的字符串的末尾
  8. 提示

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