我有一个'Area'的文本框。我需要一个正则表达式来验证文本框,这样它应该允许小数输入但没有字符。任何人都可以帮助我
答案 0 :(得分:5)
为什么不尝试已经内置于JavaScript的内容:parseFloat函数?
答案 1 :(得分:2)
答案 2 :(得分:1)
您所支持的十进制数的格式是什么?
此"Simple Regular expression for decimal numbers?" StackOverflow问题详细说明了可能的正则表达式。
^\d+(\.\d{1,2})?$
可以确保带有一位或两位小数的数字,但不适用于34.
(无十进制的点)
你有很多可能的正则表达式listed here。
Unkwntech是一个很好的完整正则表达式,但允许1,15223,11,00。
我宁愿使用:
[-+]?(?:\d(\,?(?>\d{3}[.,]))?)*(?:\.\d*)?
意思是,如果你使用的是,
,那么只有当它跟随3位数(然后是另一个,
或小数点的点数时才这样做。这强制执行 {{3但是,正如保罗在评论中所指出的那样,逗号之后有超过三位数的语言环境......
答案 3 :(得分:1)
怎么样
[-+]?(?:\d\,?){0,}(?:\.\d*)?
它将匹配以下所有具有*:
的exapmles 0 *
0.0 *
222.0 *
1,000.00 *
100,000.00 *
-100,000,000,000.12 *
ASDF
blah.blah
答案 4 :(得分:0)
答案 5 :(得分:0)
您还可以使用“isFinite”功能:
答案 6 :(得分:0)
虽然我在这里非常晚了......
现在我们有<input>
个number
类型的元素,用于让用户输入一个数字。它们包括内置验证以拒绝非数字条目。 More Info
<input id="number" type="number">
答案 7 :(得分:-2)
'^[0-9]*$'
答案 8 :(得分:-2)
如果你想要小数,这应该有效:
/^(?:\d+\.?)|(?:\d*\.\d+)$/