mã của tôi là:
<?php
$phone = 18311111111;
if(ereg("^\d{11}$",$phone)){
echo "true";
} else {
echo "false";
}
?>
tôi hiểu sai? tại sao?
mã của tôi là:
<?php
$phone = 18311111111;
if(ereg("^\d{11}$",$phone)){
echo "true";
} else {
echo "false";
}
?>
tôi hiểu sai? tại sao?
Vì ereg
không hỗ trợ \d
, bạn cần sử dụng [0-9]
thay thế.
Và ereg
là phản, sử dụng preg_match
thay vào đó, sau đó bạn có thể sử dụng \d
.
if(preg_match("/^\d{11}$/",$phone)){
echo "true";
} else {
echo "false";
}
Woops, typo: derepcated => deprecated –
@AlexLunix Cảm ơn, đã sửa :) – xdazz
Đối với những gì nó có giá trị, bạn không nên sử dụng ereg
(phản đối) cũng không preg_match
cho một thử nghiệm đơn giản như vậy; bạn có thể sử dụng ctype_digit()
:
if (ctype_digit($phone)) {
// $phone consists of only digits
} else {
// non-digit characters were found in $phone
}
Cảnh báo: 'ereg' đã bị hủy kể từ PHP 5.3.0. Dựa vào tính năng này là rất nản lòng. – OmnipotentEntity