我已经看到许多浮点数验证链接,但没有一个用于精确度。
only floating point number validation
如果输入为1234.31或,我希望字段显示错误。 但不适用于123.5555555或.3433或.9022。我需要指定规则在小数点前得到0到3位数。我试过了
/^[^+-][0-9]{0,3}[.]?[0-9]{0,2}/
但它不起作用。
答案 0 :(得分:2)
使用此正则表达式:
/^\d{0,3}\.\d+/
但如果您想使用正则表达式,请按以下方式修改:
/^[^+-][0-9]{0,3}[.]?[0-9]+/
您的原始正则表达式无效,因为您只能将其匹配最多2个小数位。正则表达式中的+
表示1或多个。
答案 1 :(得分:0)
你几乎拥有它
/^([0-9]{0,3})?\.[0-9]+|[0-9]+$/
并使用类似
的内容if(!preg_match("^([0-9]{0,3})?\.[0-9]+|[0-9]+$/", $float)){}