Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Запрет проблема через функцию eregi


Автор: emeraudx 18.6.2010, 13:18
Помогите запретить пробел. Такая функция:

if ( !empty( $login ) and !eregi( "[-_0-9a-zA-Zа-яА-Я]+", $login ) ) 
  $error = $error.'<li class="error_text">поле "логин" содержит недопустимые символы</li>'."\n";

Я хочу, чтобы пользователь, который хочет зарегиться, не смог поставить пробел между словами. НЕ ПУТАЙТЕ! Мне не нужно, чтобы пробел был именно между словами, а не в начале и в конце слова, который можно обрезать с помощью функции trim. 

1) "пробел\логин\пробел" - можно, т.к. эти пробелы обрезает trim
2) "логин\пробел\продолжение логина" - вот этот пробел я хочу запретить.

Как быть, кто знает?


Автор: bars80080 18.6.2010, 19:27
Код

if(!empty($login)) {
    $login = trim($login);
    $nlogin = preg_replace('[^-_0-9a-zA-Zа-яА-ЯЁё]', '', $login);
    if($nlogin != $login) { echo 'error'; }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)