Немогу запретить символы в поле. Пробую так:
if (!preg_match('[a-z]',$_POST['login']) && !preg_match('[a-z]',$_POST['password']))
я хочу чтобы пользователь вводил только латинские буквы но код пропускает цыфры...подскажыте как правильно пользоваться етой ф-ией...
Спустя 18 минут, 49 секунд (21.07.2012 - 17:58) pak написал(а):
а так?
if (!preg_match('#[a-z]#',$_POST['login']) && !preg_match('#[a-z]#',$_POST['password']))
Спустя 5 минут, 32 секунды (21.07.2012 - 18:04) pak написал(а):
Если проверка только на буквы латинские, то можно без регулярок, использовать функцию ctype_alpha
$s = 'admin';
if(ctype_alpha($s))
echo 'да';
else
echo 'нет';
Спустя 1 минута, 49 секунд (21.07.2012 - 18:06) Oggy написал(а):
Цитата (pak @ 21.07.2012 - 14:58) |
а так?if (!preg_match('#[a-z]#',$_POST['login']) && !preg_match('#[a-z]#',$_POST['password'])) |
да - оно. Спасибо. Только без знака восклицания.
Спустя 1 час, 39 минут, 1 секунда (21.07.2012 - 19:45) Winston написал(а):
Вот так нужно
Т.к. эта проверка
if (!preg_match('#^[a-z]+$#u',$_POST['login']) || !preg_match('#^[a-z]+$#u',$_POST['password']))
echo 'error';
Т.к. эта проверка
Цитата (pak @ 21.07.2012 - 17:58) |
if (!preg_match('#[a-z]#',$_POST['login']) && !preg_match('#[a-z]#',$_POST['password'])) |
Будет до одного места, т.к. пропустит любые символы, достаточно будет лишь добавить туда один латинский символ.
Например введи в поле логин и пароль вот такое значение "h превед медвед" и оно будет пропущено.
Спустя 1 час, 49 минут, 27 секунд (21.07.2012 - 21:34) Oggy написал(а):
Цитата (Winston @ 21.07.2012 - 16:45) | ||
Вот так нужноif (!preg_match('#^[a-z]+$#u',$_POST['login']) || !preg_match('#^[a-z]+$#u',$_POST['password'])) Т.к. эта проверка
Будет до одного места, т.к. пропустит любые символы, достаточно будет лишь добавить туда один латинский символ. Например введи в поле логин и пароль вот такое значение "h превед медвед" и оно будет пропущено. |
об*яните вот етот участок кода
#^[a-z]+$#u
он конкретно запрещает символы:#^[a-z]+$#u
или там скобки [ ] нужны для задания промежутка ?
как правильно составлять свою функцыю preg_match ?
Спустя 58 минут, 45 секунд (21.07.2012 - 22:33) Winston написал(а):
Цитата (Oggy @ 21.07.2012 - 21:34) |
он конкретно запрещает символы:#^[a-z]+$#u |
Они означают, что от начала и до конца строки не должно быть ничего кроме символов a-z
Цитата (Oggy @ 21.07.2012 - 21:34) |
или там скобки [ ] нужны для задания промежутка ? |
Да.
Цитата (Oggy @ 21.07.2012 - 21:34) |
как правильно составлять свою функцыю preg_match ? |
Нужно учить регулярные выражения
![wink.gif](http://phpforum.su/html/emoticons/wink.gif)