регулярные выражения

  • Автор темы Автор темы Mozart
  • Дата начала Дата начала

Mozart

Новичок
регулярные выражения

Мне надо чтоб ник состоял только из латинских букв и цифр...
Использовал такой код:
PHP:
if (!eregi("[0-9a-zA-Z]", $login))
{
echo 'Ваш логин должен состоять только из цифр и латинских букв!';
exit;
}
Но если вводить знаки препинания и всякую бяку скрипт ее пропускает(например: №;%:?*(": ) , можно ли их не пропускать сразу или придеться их заменять?
 
if (eregi("[^0-9a-zA-Z]", $login))

и вообще лучше пользоваться функциями preg_*
 
if (eregi("[^0-9a-zA-Z]", $login))
Demiurg, что-то ты напутал в своем регулярном выражении. Правильнее будет вот так:
PHP:
if (!eregi('^[0-9a-z]+$', $login))
{ 
    echo 'Ваш логин должен состоять только из цифр и латинских букв!'; 
    exit; 
}
 
да, признаю свою ошибку. Хотя можно придраться к твоей регулярке, потому что она пропускает строку нулевой длины :)
 
не, ну намудрить тут еще много чего можно...но ето уже я отдельно сделаю..
 
Ты всякие непонятки-синволы отсквочивай:
preg_quote('где их отсквочивать');
Там всякие №;%:?*(": ) потеряют свое значение и станут просто текстом.
А про первое:
if(!preg_match("/[0-9a-z]/i",$login)){

};
 
Что интересно - замечания сырку делает кто угодно, но не администрация.
Я, все-таки ,уверен, что они специально их разводят. Чтобы не скучно было.
Или чтобы меня позлить.
 
Правда чтоль так глупо сказал?
Вроде так правильно(накануне прочитал об этом)...
 
Что интересно - замечания сырку делает кто угодно, но не администрация.
Я, все-таки ,уверен, что они специально их разводят. Чтобы не скучно было.
Или чтобы меня позлить.
Так ведь и на икспоинте он есть. Или тебя там тоже хотят позлить? ;-)
 
Сверху