PHP: Как использовать ereg для проверки входного текста И длины строки одновременно?
Я использую ereg следующим образом, чтобы проверить поле, которое может содержать только цифры от 0 до 9:
if(eregi("^([0-9])*$", $mynumber)) return true;
Однако строка должна содержать от 8 до 10 символов. Можно ли улучшить такое же использование ereg, чтобы проверить правильность длины строки?
Спасибо заранее.. все учебники по эрегу кажутся мне традиционным китайским.:S
2 ответа
ereg*()
функции устарели и будут удалены в следующей версии:
if(preg_match("/^([0-9]){8,10}$/", $mynumber)) return true;
Просто замените *
квантификатор с {8,10}
:
eregi("^[0-9]{8,10}$", $mynumber)
Теперь регулярное выражение соответствует, только если строка состоит из 8-10 цифр.
И, кстати: i
в eregi
для нечувствительности к регистру. Но у цифр нет дела. Так что вы могли бы использовать ereg
вместо. Но поскольку использование PHP-функций POSIX ERE устарело вместо PHP-функций PCRE, вам следует использовать preg_match
вместо:
preg_match("/^[0-9]{8,10}$/", $mynumber)