mein Code:
<?php
$phone = 18311111111;
if(ereg("^\d{11}$",$phone)){
echo "true";
} else {
echo "false";
}
?>
i falsch bekommen? Warum?
mein Code:
<?php
$phone = 18311111111;
if(ereg("^\d{11}$",$phone)){
echo "true";
} else {
echo "false";
}
?>
i falsch bekommen? Warum?
Da ereg
\d
nicht unterstützt, müssen Sie stattdessen [0-9]
verwenden.
Und ereg
ist veraltet, verwenden Sie stattdessen preg_match
, dann könnten Sie \d
verwenden.
if(preg_match("/^\d{11}$/",$phone)){
echo "true";
} else {
echo "false";
}
Woops, Tippfehler: derepcated => veraltet –
@AlexLunix Danke, behoben :) – xdazz
Für was es wert ist, kann man nicht ereg
(veraltet) noch preg_match
für einen solchen einfachen Test verwendet werden soll; Sie können ctype_digit()
verwenden:
if (ctype_digit($phone)) {
// $phone consists of only digits
} else {
// non-digit characters were found in $phone
}
Warnung: 'ereg' wurde ab PHP 5.3.0 dekomprimiert. Von dieser Funktion wird dringend abgeraten. – OmnipotentEntity