我的代码是:
<?php
$phone = 18311111111;
if(ereg("^\d{11}$",$phone)){
echo "true";
} else {
echo "false";
}
?>
我是假的?为什么?
因为ereg
不支持\d
,所以需要使用[0-9]
代替。
并且ereg
已弃用,preg_match
请改用,然后您可以使用\d
.
if(preg_match("/^\d{11}$/",$phone)){
echo "true";
} else {
echo "false";
}
对于它的价值,您不应该使用ereg
(不推荐使用)也不应该preg_match
进行如此简单的测试;你可以使用ctype_digit()
:
if (ctype_digit($phone)) {
// $phone consists of only digits
} else {
// non-digit characters were found in $phone
}