{}
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset
где ошибься, не вижу что-то, помогите
Спустя 1 минута, 31 секунда (8.06.2010 - 14:00) Basili4 написал(а):
а безслешей /
Спустя 4 минуты, 8 секунд (8.06.2010 - 14:04) Guest написал(а):
Basili4
без слэшей ошибку не выдал, но не выполняет, то что должен. что бы не было в $x условие выполняется.
насколько я знаю, preg должен быть со слешами всегда?
без слэшей ошибку не выдал, но не выполняет, то что должен. что бы не было в $x условие выполняется.
насколько я знаю, preg должен быть со слешами всегда?
Спустя 1 минута, 57 секунд (8.06.2010 - 14:06) ApuktaChehov написал(а):
Попробуйте так:
Если слеш не нужен
Если нужен:
i - говорит, что не нужно учитывать регистр.
Если слеш не нужен
if (!preg_match("/[-а-z_]/i", $x))
Если нужен:
if (!preg_match("/[-а-z_\\]/i", $x))
i - говорит, что не нужно учитывать регистр.
Спустя 2 минуты, 45 секунд (8.06.2010 - 14:09) Guest написал(а):
ApuktaChehov
оба варианта выдают
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset
можешь сам проверить)
до этого написал для проверки почты
if (!preg_match("/^[a-zA-Z0-9\_\-]+@[a-zA-Z0-9]+\.[a-zA-Z]{1,6}$/", $email))
{}
этот код работает, хотя в чем разница не понимаю
оба варианта выдают
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset
можешь сам проверить)
до этого написал для проверки почты
if (!preg_match("/^[a-zA-Z0-9\_\-]+@[a-zA-Z0-9]+\.[a-zA-Z]{1,6}$/", $email))
{}
этот код работает, хотя в чем разница не понимаю
Спустя 46 секунд (8.06.2010 - 14:10) ApuktaChehov написал(а):
Че то я затупил:
if (!preg_match('/[-а-z_]+/i', $x))
Спустя 4 минуты, 25 секунд (8.06.2010 - 14:14) Guest написал(а):
ApuktaChehov
что-то ближе к истине, но почему-то $x=alex* он пропустил, хотя звездочки нету в проверке
что-то ближе к истине, но почему-то $x=alex* он пропустил, хотя звездочки нету в проверке
Спустя 2 минуты, 15 секунд (8.06.2010 - 14:17) tomash написал(а):
/^[а-zA-Z\-\_]$/
Спустя 3 минуты, 29 секунд (8.06.2010 - 14:20) ApuktaChehov написал(а):
if (preg_match("/[^-а-z_]+/i", $x))
Вот так работает. Если найдет что то кроме разрешенного вернет труе, иначе фалсе.
И не надо экранировать нижнее подчеркивание. Это не спецсимвол.
А что бы не экранировать тере, нужно его поставить в начало символьного класса.
Спустя 1 минута, 21 секунда (8.06.2010 - 14:21) Guest написал(а):
tomash
а с таким написанием условие всегда истинно, даже если все написать правильно
$x=alex не пропускает
а с таким написанием условие всегда истинно, даже если все написать правильно
$x=alex не пропускает
Спустя 3 минуты, 26 секунд (8.06.2010 - 14:25) ApuktaChehov написал(а):
Я сново плюсик съел, поправил уже.
Спустя (8.06.2010 - 14:25) Guest написал(а):
ApuktaChehov
спасибо, получилось, только i не нужно, регистр важен)
спасибо, получилось, только i не нужно, регистр важен)
Спустя 44 секунды (8.06.2010 - 14:26) Guest написал(а):
ApuktaChehov
без плюсика тоже работает))))
без плюсика тоже работает))))
Спустя 1 минута, 4 секунды (8.06.2010 - 14:27) ApuktaChehov написал(а):
Я думаю его лучше поставить. Так как будет искаться хотя бы один символ, а если ничего не найдется, то вернет фалсе, что и надо. А без плюсика хз что будет.
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Спустя 1 минута, 42 секунды (8.06.2010 - 14:28) Guest написал(а):
ApuktaChehov
кол-во символов в полях контролируется ранее, так что все ок, спс!!
кол-во символов в полях контролируется ранее, так что все ок, спс!!
Спустя 1 минута, 31 секунда (8.06.2010 - 14:30) ApuktaChehov написал(а):
Всегда пожалуйста!
Спустя 1 минута, 39 секунд (8.06.2010 - 14:31) tomash написал(а):
2Guest
сорри! а так? /^[-а-zA-Z_]+$/
сорри! а так? /^[-а-zA-Z_]+$/
Спустя 2 минуты, 51 секунда (8.06.2010 - 14:34) ApuktaChehov написал(а):
tomash это неверная регулярка. Смысл в том, что бы найти что-то, кроме того, что разрешит разработчик. А это что-то, может быть где угодно в строке. А вы жестко привезались к началу и концу строки.
Да и еще, Guest, я все же рекомендую поставить плюс.
По задумке мы ищем в строке хотя бы один символ, который не входит в те, которые вы разрешили. Без плюса, может и работает, но это некорректно с логической точки зрения. К томуже я не знаю, как себя дальше поведет это выражение, если без плюса.
Да и еще, Guest, я все же рекомендую поставить плюс.
По задумке мы ищем в строке хотя бы один символ, который не входит в те, которые вы разрешили. Без плюса, может и работает, но это некорректно с логической точки зрения. К томуже я не знаю, как себя дальше поведет это выражение, если без плюса.
Спустя 11 минут, 32 секунды (8.06.2010 - 14:46) Guest написал(а):
ApuktaChehov
поставил!
поставил!