|
|
|
| понимаю что звучит глупо но подскажите как разрешить пробел в этой записи
return preg_match("/^[a-zA-Za-яА-Я0-9]{10,150}$/", $val);
|
| |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 21:23)
| |
return preg_match("/^[a-zA-Za-яА-Я0-9 ]{10,150}$/", $val);
|
| |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 21:23)
| | Я бы сделал так:
<?php
return preg_match("/^[\w ]{10,150}$/", $val);
|
пробельные символы еще можно получить подставив \s однако туда входят табуляция, перенос строки т.д.
Почитать об этом | |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 21:23)
| | . | |
|
|
|
|
|
|
|
для: neadekvat
(13.04.2010 в 21:32)
| | ничево не понимаю
вот в этой записи
function length_detail(&$val)
{
return preg_match("/^[a-zA-Za-яА-Я0-9\s]{10,150}$/", $val);
}
|
все работает т.е пробел разрешается.
а вот в этой
function length(&$val)
{
return preg_match("/^[a-zA-Za-яА-Я0-9\s] {3,20}$/", $val);
}
|
не работает не разрешает причем не пропускает никакую запись с пробелом или без безранизницы все равно вылозит ошибочка | |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 22:02)
| | Выше я написал, какое должно быть рег.выражение.
Расскажите-ка, что вы под ^[a-zA-Za-яА-Я0-9\s] {3,20}$ понимаете. Вот так, словами, как это понять? И что должно пройти через этот регексп. | |
|
|
|
|
|
|
|
для: neadekvat
(13.04.2010 в 22:05)
| | дак нет)) вопрос стоит о том что записи совершенно одинковае различаются только количеством знаков но почему то в одном случае все получается а в другом нет | |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 22:09)
| | . | |
|
|
|
|
|
|
|
для: neadekvat
(13.04.2010 в 22:13)
| | кстати сейчас попробывал ваш код он тоже ничево не пропускает никакоз записей ни без пробелов ни с пробелами | |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 22:14)
| | Не успел отредактировать, отправляю сюда:
Что "нет"? Не помню вопроса на "да" или "нет".
Чтобы понимать свои рег.выражения и уметь их писать, нужно научиться "думать" как интерпритатор. Каждый ваш символ что-то значит (Trianon ниже описал один из вариантов исключения). В частности ваше выражение должно обязательно включать от четырех до 21 символа: букву латинского или русского алафавита в любом регистре, или цифры, или пробельный символ, и от 3-х до 20-ти пробелов.
Вот такое подойдет: "ф*три пробела*"; а такое уже нет: "ф", и даже такое нет: "ф*один пробел*".
> кстати сейчас попробывал ваш код он тоже ничево не пропускает никакоз записей ни без пробелов ни с пробелами
А условия в фигурных скобках учитывались? | |
|
|
|
|
|
|
|
для: neadekvat
(13.04.2010 в 22:15)
| | сначала учел потом не учел разницы нет все равно ругается | |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 22:21)
| | Покажите, как вы тестируете. У меня вот ничего не ругается | |
|
|
|
|
|
|
|
для: neadekvat
(13.04.2010 в 22:23)
| |
function length(&$val)
{
return preg_match("/^[w ]{3,20}$/", $val);
}
|
| |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 22:25)
| | и как Вы вызываете эту функцию?
Между прочим, зачем там амперсенд перед $val ?
var_dump(length("w w www wwww ww")); вроде как идет. | |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 22:25)
| | Во-первых, хотя бы скопировать можно было бы правильно;
Во-вторых, приведите также и строку, которую вы в эту функцию передаете. | |
|
|
|
|
|
|
|
для: neadekvat
(13.04.2010 в 22:29)
| | опс все разобрался спс))
P.S код не капирую пишу в ручную так лучше понимается)) | |
|
|
|
|
|
|
|
для: NoCash
(13.04.2010 в 22:02)
| |
Вы для пробела квантификатор поставили.
Если хотите чтобы живые пробелы не воспринимались значащими символами шаблона - применяйте модификатор шаблона x (весьма полезная, кстати, штука) | |
|
|
|
|
|
|
|
для: Trianon
(13.04.2010 в 22:06)
| | а возможно ли как нибудь разрещить кавычки " " ? | |
|
|
|
|
|
|
|
для: NoCash
(23.04.2010 в 11:41)
| | кавычку заэкранировать придется - двойным обратным слэшем.
Двойным потому, что первый уровень срежет оформление строки на языке php. | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2010 в 14:10)
| | \040 символ пробела | |
|
|
|
|
|
|
|
для: Tonik992
(11.05.2010 в 23:44)
| | кто здесь? | |
|
|
|