|
|
|
|
|
для: Desh
(30.08.2009 в 18:45)
| | >значение отличное от нуля
это не то
>strpos() может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0
проверяйте на значение FALSE
или такое утверждение (?!.*-{2}) говорит о том что во всей последующей строке не должно быть двух дефисов подряд
// или так (?!.*--) | |
|
|
|
|
|
|
|
для: Trianon
(31.08.2009 в 13:20)
| | тогда еще упрощу
(?=\d{4}|[^a-z0-9-]|(.)\1{3})
|
| |
|
|
|
|
|
|
|
для: ride
(31.08.2009 в 13:11)
| | $pattern = ? | |
|
|
|
|
|
|
|
для: Trianon
(31.08.2009 в 13:05)
| | согласен, не учел это
([-a-z0-9])(?=\d{3}|\1{3}|[^a-z0-9-])
|
теперь все ок
upd почти)) | |
|
|
|
|
|
|
|
для: ride
(31.08.2009 в 12:59)
| | попытка ввести любой символ за пределами набора приводит к диагностике "все ок!" | |
|
|
|
|
|
|
|
для: Trianon
(31.08.2009 в 12:00)
| | я склоняюсь к предложенному мной варианту(только добавлю дефис)
([-a-z0-9])(?=\d{3}|\1{3})
//использовать так
$pattern='/([-a-z0-9])(?=\d{3}|\1{3})/i';
$subject='342str';
if(preg_match($pattern,$subject)){
echo'Логин указан неверно';
}else echo'все ок!';
|
| |
|
|
|
|
|
|
|
для: ride
(31.08.2009 в 11:11)
| | Какой у Вас получился шаблон в конечном итоге? | |
|
|
|
|
|
|
|
для: ride
(31.08.2009 в 11:11)
| | Возможно. | |
|
|
|
|
|
|
|
для: Trianon
(31.08.2009 в 10:58)
| | думаю .* вообще надо убрать. | |
|
|
|
|
|
|
|
для: ride
(31.08.2009 в 10:40)
| | на самом деле я перемудрил.
достаточно так (?!.*[\\d]{3})
или даже так (?!.*\\d{3})
читается как
впереди не должно встретиться, после любых символов в любом количестве , цифр подряд в количестве 3 штуки.
А жадность... жадность и вправду можно уменьшить, чтоб производительность не страдала.
(?!.*?\\d{3}) | |
|
|
|
|