^[0-9]+\.{0,1}[0-9]{1,2}$<?
function check($test){
if(!ereg("^[0-9]+\.{0,1}[0-9]{1,2}$",$test))$msg = "$test false!<BR>";
else $msg = "$test true!<BR>";
echo $msg;
}
check(".34");
check("0.345");
check("343.34");
check("43.347");
check("4g6546.34");
check("654");
check("654.");
check("654.0");
check("0654.0");
check("000654.23");
?>

解决方案 »

  1.   

    楼上sandyuk(冰の沙隆)的在测试一位整数时有BUG;
    比如:check("8");
    改为下面的:^([0-9]+|[0-9]+\.{0,1}[0-9]{1,2})$借用一下:
    <?
    function check($test){
    if(!ereg("^([0-9]+|[0-9]+\.{0,1}[0-9]{1,2})$",$test))$msg = "$test false!<BR>";
    else $msg = "$test true!<BR>";
    echo $msg;
    }
    check(".34");
    check("0.345");
    check("343.34");
    check("43.347");
    check("4g6546.34");
    check("654");
    check("654.");
    check("654.0");
    check("0654.0");
    check("000654.23");
    check("8");
    ?>