![](/img/trans.png)
[英]Regular Expression to accept only positive number and decimals (only end with .5 .0 or integer accepted)
[英]Regular Expression to accept only positive numbers and decimals
我需要一个 javascript 中的正则表达式,它只接受正数和小数。 这就是我所拥有的,但有些不对劲——它似乎没有取单个正数。
/^[-]?[0-9]+[\.]?[0-9]+$/;
例如, 9
将不起作用。 我该如何重组它,以便如果至少有一个正数,它会起作用?
/^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)$/
火柴
0
+0
1.
1.5
.5
但不是
.
1..5
1.2.3
-1
编辑:
要处理科学记数法 ( 1e6
),您可能需要这样做
/^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/
如果你想要严格的正数,没有零,你可以这样做
/^[+]?([1-9][0-9]*(?:[\.][0-9]*)?|0*\.0*[1-9][0-9]*)(?:[eE][+-][0-9]+)?$/
根据您的需要,有几种不同的方法可以做到这一点:
/^[0-9.]+$/
匹配1
和1.1
但不匹配-1
/^[0-9]+\\.[0-9]+$/
匹配1.1
但不匹配1
或-1
通常,我建议使用简单的 regExp 参考指南(如http://www.regular-expressions.info/)来构建表达式,然后在浏览器控制台中使用 javascript 测试它们:
"123.45".match(/^[0-9.]+$/)
我发现了一些对我有用的有趣的东西!!! 希望你也一样......!!!
[0-9] .[0-9]
正则表达式只接受带小数点的正数
匹配:1、2564、2.5545、254.555
不匹配:-333、332.332.332、66-665.455、55554-4552
怎么样:
^[.]?[0-9]+[.]?[0-9]*$
我做了一个以防人们感兴趣:^([0-9]*)(.[[0-9]+]?)?$
但它没有“+”号,同时也不接受“-”号
它接受:
0
0.5
1.0
1.5
2.0
2.5
3.0
1
2
3
4
0.0
0.1
0.9
0.4
1.3
1.11
1.51
2.01
01.5
0.51
1.1
.1
拒绝:
-1.0
-0.5
-0.0
-0.1
-0.7
11123.
1.001.
.1.1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.