我的正则表达式不适用于单个数字
/^[0-9]{1,7}\.?[0-9]{1,2}$/
我需要它来处理无符号数字:
1 (single digit numbers, without fractions) - currently it fails on them
1.0; 0.31 (floating point numbers)
分数前的数字可以是1-7位数;分数1-2之后。
谢谢!
答案 0 :(得分:6)
您指定必须有1-7位数字,然后是可选的小数点,然后是1-2位数字。尝试:
/^[0-9]{1,7}(?:\.[0-9]{1,2})?$/
请注意,这不允许尾随小数位(即“1”)。如果你想允许这样做,这应该有效:
/^[0-9]{1,7}(?:\.[0-9]{0,2})?$/
答案 1 :(得分:1)
小数点和后面的数字可选。 e.g。
/^[0-9]{1,7}(\.[0-9]{1,2})?$/
这样你就可以得到1-7位或 1-7位数字后跟一个小数点后跟1或2位数但如果你有数字跟随小数点,但没有其他数字无效。