![](/img/trans.png)
[英]How do I combine my two Javascript functions to allow three digit commas and one decimal point?
[英]regex to validate three digit with one decimal
我编写了一个正则表达式来验证包含三位数字和一个小数的数字,但是在所有情况下它总是返回false。
re = new RegExp("^\d{1,3}\.*\d{0,1}$");
re.test(33.0);
我尝试了多种组合,但无法正常工作。 目的是验证最大3位数字(含小数点后小于100)。我可以处理小于100的部分。
这是您想要的:
var test = [ 123, 12.34, 100.1, 100, 12, 1.2, 1 ]; console.log(test.map(function (a) { return a+' :'+/^(?:100(?:\\.0)?|\\d{1,2}(?:\\.\\d)?)$/.test(a); }));
最好使用正则表达式文字:
var re = /^\d{1,2}(\.\d)?$/;
re.test(33.0);
传递数字时,请注意浮点精度问题:
re.test(0.1 * 302); // false, because 0.1 * 302 results in 30.200000000000003 :-(
请记住要转义\\ you regex序列:
re = new RegExp(“ ^ \\\\ d {1,3} \\。* \\\\ d {0,1} $”);
重新测试(33.0);
代替使用正则表达式对象,请尝试使用直接javascript
/\d{1,3}\.*\d{0,1}$/.test(33.0)
console.log(/\\d{1,3}\\.*\\d{0,1}$/.test(33.0))
如果您想使用RegExp
然后尝试
new RegExp(/\d{1,3}\.*\d{0,1}$/,'i');
re.test(33.0);
let re = new RegExp(/\\d{1,3}\\.*\\d{0,1}$/,'i'); console.log(re.test(33.0));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.