mojego kodu jest:
<?php
$phone = 18311111111;
if(ereg("^\d{11}$",$phone)){
echo "true";
} else {
echo "false";
}
?>
ja dostać fałszywe? czemu?
mojego kodu jest:
<?php
$phone = 18311111111;
if(ereg("^\d{11}$",$phone)){
echo "true";
} else {
echo "false";
}
?>
ja dostać fałszywe? czemu?
Ponieważ ereg
nie obsługuje \d
, należy zamiast tego użyć [0-9]
.
I ereg
jest przestarzałe, użyj zamiast preg_match
, następnie można użyć \d
.
if(preg_match("/^\d{11}$/",$phone)){
echo "true";
} else {
echo "false";
}
Woops, liter: derepcated => przestarzałe –
@AlexLunix Dzięki, naprawiono :) – xdazz
Na co warto, nie należy używać ereg
(przestarzałe) ani preg_match
dla takiego prostego testu; możesz użyć: ctype_digit()
:
if (ctype_digit($phone)) {
// $phone consists of only digits
} else {
// non-digit characters were found in $phone
}
Ostrzeżenie: 'ereg' został ODRADZANY od PHP 5.3.0. Opieranie się na tej funkcji jest bardzo odradzane. – OmnipotentEntity