PHP 正则表达式 - 有效的浮点数

2022-08-30 19:28:13

我希望用户只输入0-9,只输入一次“.

 patt = /[^0-9(.{1})]/

 1.2222 -> true
 1.2.2  -> false (only once '.')

帮帮我,谢谢!


答案 1
/^-?(?:\d+|\d*\.\d+)$/

这匹配正常的浮点数,例如,仅小数部分的速记,例如 和整数,例如 以及负数。3.14.59


答案 2

这就是你要找的

$re = "~        #delimiter
    ^           # start of input
    -?          # minus, optional
    [0-9]+      # at least one digit
    (           # begin group
        \.      # a dot
        [0-9]+  # at least one digit
    )           # end of group
    ?           # group is optional
    $           # end of input
~xD";

这只接受“123”或“123.456”,而不是“.123”或“14e+15”。如果您也需要这些表格,请尝试is_numeric


推荐