5

我的代码是:

<?php
    $phone = 18311111111;
    if(ereg("^\d{11}$",$phone)){
        echo "true";
    } else {
        echo "false";
    }
?>

我是假的?为什么?

4

2 回答 2

4

因为ereg不支持\d,所以需要使用[0-9]代替。

并且ereg弃用preg_match请改用,然后您可以使用\d.

if(preg_match("/^\d{11}$/",$phone)){
    echo "true";
} else {
    echo "false";
}
于 2012-10-24T04:02:29.540 回答
0

对于它的价值,您不应该使用ereg(不推荐使用)也不应该preg_match进行如此简单的测试;你可以使用ctype_digit()

if (ctype_digit($phone)) {
    // $phone consists of only digits
} else {
    // non-digit characters were found in $phone
}
于 2012-10-24T04:31:11.263 回答