具有小数的负数的Javascript正则表达式

我想测试这个输入:[一个可选的负号] 2位数[可选。 和一个可选的数字]这样:

JavaScript中的 -34-34.533334.5333334

这就是我提出的但它不起作用!

 /^(-)\d{2}(\.d\{1})$/ 

有人可以帮帮我吗?

试试这个正则表达式:

 /^-?\d{2}(\.\d+)?$/ 

此正则表达式匹配任何有效的整数。

 /^0$|^-?[1-9]\d*(\.\d+)?$/ 

您可以修改它以满足您的需求:

 /^-?[1-9]\d{0,1}(\.[1-9]{1})?$/ 

这符合2.1,21.4,3,90 ……

也许不需要正则表达式。

 function validate(val){ return isNaN(val)?false:(Math.abs(Math.floor(val)).toString().length==2); } 

试试这个正则表达式:

 /^-?[0-9]{2}(?:\.[0-9]+)?$/ 

试试这个:

 /^(-)?\d{2}(\.\d+)?$/ 

您可以使用此正则表达式:

 -?\d{2}[.]?\d* 

你的regEx(/^(-)\d{2}(.d{1})$/)做的是:

首先要求否定,然后正确地要求两位数,然后使用“。” 你需要任何角色,你应该用“\”将它严格到符号,最后是一位数。

正确的示例代码将是:

 var str = '-34.23'; pat=/^\-?\d{2}(\.(\d)*)?$/g; str.match(pat); 

更可测试的例子: http : //jsfiddle.net/GUFgS/1/

使用 ”?” 在该组匹配后,选项即(\。\ d *)?

以下简单的html代码将validation2位数的+ ve和-ve数以及小数点后的可选最小1位数。

JS代码:

  function validateNum() { var patForReqdFld = /^(\-)?([\d]{2}(?:\.\d{1,})?)$/; var value = document.getElementById('txtNum').value; if(patForReqdFld.test(value)) { alert('Valid Number: ' + value); } else { alert('Invalid Number: ' + value); } } 

HTML代码: