JavaScript中的正则表达式用于验证十进制数

Sha*_*oni 15 javascript regex

我想在JavaScript中使用正则表达式来验证十进制数.

它应该只允许最多两位小数.例如,它应该允许10.89但不允许10.899.

它也应该只允许一个句点(.).例如,它应该允许10.89但不允许10.8.9.

zat*_*ata 36

请尝试以下表达式:^\d+\.\d{0,2}$如果希望小数位数是可选的,则可以使用以下方法:^\d+(\.\d{1,2})?$

编辑:要在Javascript中测试字符串匹配,请使用以下代码段:

var regexp = /^\d+\.\d{0,2}$/;

// returns true
regexp.test('10.5')
Run Code Online (Sandbox Code Playgroud)


noo*_*oob 28

^\d+(\.\d{1,2})?$
Run Code Online (Sandbox Code Playgroud)

将允许:

  1. 244
  2. 10.89
  3. 9.5

将不允许:

  1. 10.895
  2. 10.
  3. 10.8.9


Joh*_*ers 15

正则表达式

/^\d+(\.\d{1,2})?$/
Run Code Online (Sandbox Code Playgroud)

演示

var regexp = /^\d+(\.\d{1,2})?$/;

console.log("'.74' returns " + regexp.test('.74'));
console.log("'7' returns " + regexp.test('7'));
console.log("'10.5' returns " + regexp.test('10.5'));
console.log("'115.25' returns " + regexp.test('115.25'));
console.log("'1535.803' returns " + regexp.test('1535.803'));
console.log("'153.14.5' returns " + regexp.test('153.14.5'));
console.log("'415351108140' returns " + regexp.test('415351108140'));
console.log("'415351108140.5' returns " + regexp.test('415351108140.5'));
console.log("'415351108140.55' returns " + regexp.test('415351108140.55'));
console.log("'415351108140.556' returns " + regexp.test('415351108140.556'));
Run Code Online (Sandbox Code Playgroud)


说明

  1. / / :表达式的开头和结尾
  2. ^ :以下内容应该在您正在测试的字符串的开头
  3. \d+ :应该至少有一个数字
  4. ( )? :这部分是可选的
  5. \. :这里有一个点
  6. \d{1,2} :这里应该有一到两位数字
  7. $ :无论什么先于此,都应该在你正在测试的字符串的末尾

小费

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