2010-03-14 4 views
0

Я использую Ерег в followin способ проверки поля, которые могут содержать только цифры от 0 до 9:PHP: Как использовать ereg для проверки входного текста и длины строки одновременно?

if(eregi("^([0-9])*$", $mynumber)) return true; 

Однако строка должна иметь между 8 и 10 characeters. Возможно ли улучшить такое же использование ereg, чтобы проверить допустимую длину строки?

Заранее спасибо .. все учебники ereg кажутся мне традиционными для китайцев. : S

ответ

4

ereg*() функция устарела и будет удалена в будущих версиях:

if(preg_match("/^([0-9]){8,10}$/", $mynumber)) return true; 
1

Просто замените * квантор {8,10}:

eregi("^[0-9]{8,10}$", $mynumber) 

Теперь регулярное выражение соответствует только если строка состоит из 8 до 10 цифр.

И, между прочим: i в eregi предназначен для нечувствительности к регистру. Но цифр нет. Поэтому вместо этого вы можете использовать ereg. Но поскольку использование PHP’s POSIX ERE functions осуждаются в пользу для PHP’s PCRE functions, вы должны использовать preg_match вместо:

preg_match("/^[0-9]{8,10}$/", $mynumber) 
+0

Спасибо, что было очень полезно. ;) – andreszs