MBe*_*mam 34 javascript regex floating-point decimal
我需要十进制/浮点数的正则表达式,如12 12.2 1236.32 123.333和+12.00或-12.00或... 123.123 ...用于在javascript和jQuery中使用.谢谢.
Pau*_*aul 70
可选择在开头匹配+或 - ,后跟一个或多个十进制数字,可选后跟一个小数点,并在字符串末尾使用一个或多个十进制数字:
/^[+-]?\d+(\.\d+)?$/
Run Code Online (Sandbox Code Playgroud)
正确的表达应如下所示:
[+-]?([0-9]*[.])?[0-9]+
Run Code Online (Sandbox Code Playgroud)
这适用于:
+1
+1.
+.1
+0.1
1
1.
.1
0.1
Run Code Online (Sandbox Code Playgroud)
这是Python示例:
import re
#print if found
print(bool(re.search(r'[+-]?([0-9]*[.])?[0-9]+', '1.0')))
#print result
print(re.search(r'[+-]?([0-9]*[.])?[0-9]+', '1.0').group(0))
Run Code Online (Sandbox Code Playgroud)
输出:
True
1.0
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Mac,则可以在命令行上进行测试:
python -c "import re; print(bool(re.search(r'[+-]?([0-9]*[.])?[0-9]+', '1.0')))"
python -c "import re; print(re.search(r'[+-]?([0-9]*[.])?[0-9]+', '1.0').group(0))"
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用 isNaN 检查文本验证以及仅一位小数点验证
var val = $('#textbox').val();
var floatValues = /[+-]?([0-9]*[.])?[0-9]+/;
if (val.match(floatValues) && !isNaN(val)) {
// your function
}
Run Code Online (Sandbox Code Playgroud)