
09.12.2007, 00:38
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме: 1469995
Репутация:
589
|
|
Сообщение от Macro
Лучше так
PHP код:
function check($str)
{
if(preg_match('/^({[0-9]{1,8}}|{[a-z]{1,6}}|{[A-Z]{1,6}})$/', $str);)
{ return false;}
else {return true;}
}
Во первых:
несовпадение открывающих и закрывающих скобок (фигурные и круглые)
Во вторых:
Неверное использование фигурных скобок
Сообщение от Спецификации PCRE
{
start min/max quantifier
}
end min/max quantifier
В третьих:
Код:
if (preg_match(...) {return true;} else {return false;})
Лишнее условие, а условные переходы являются самой медленной частью в любой программе
Сообщение от php documentation
preg_match() returns the number of times pattern matches. That will be either 0 times (no match) or 1 time because preg_match() will stop searching after the first match.
PS: зато идея "вынести за скобки" ^ и $ - как раз в тему+)
|
|
|