Проверка логина при регистрации

164
27 сентября 2018, 22:40
if (strlen($login) < 3 || strlen($login) > 16 || preg_match("![A-Za-z]!i",$login) && preg_match("![А-Яа-я]!i",$login)) {
    $errorlogin3 = 'Длина логина от 3 до 16 символов. Вы можете использовать максимум 2 пробела. Нельзя использовать цифры и чередовать латиницу с кириллицей.';
    $_SESSION['errorlogin3'] = $errorlogin3; 
    header('Location: saveUser');   
} 
else {
    echo "успешно";
    //setcookie("login", $login, time() + 60 * 60 * 24 * 30);
    //header('Location: saveUser');
}

Помогите, нужно, чтобы в логине было не больше чем 2 пробела и полностью запретить ввод числа.

Answer 1

Комбинируйте как хотите:

!preg_match('#^[a-z0-9 ]+$#i', $login) - только английские, цифры и пробелы

!preg_match('#^[а-яё0-9 ]+$#iu', $login) - только русские, цифры и пробелы

mb_strlen($login) < 3 - не меньше 3 символов

mb_strlen($login) > 16 - не больше 16 символов

substr_count($login, ' ') > 2 - не больше двух пробелов

P.S. возможно можно запихать это все дело в одну регулярку, но как-то потно.

READ ALSO
Как установить mssql driver для php?

Как установить mssql driver для php?

Есть Centos 7, php71, yii2 и удаленная база данных ms sql

206
Как создать массив такого вида?

Как создать массив такого вида?

Вывожу нужные мне записи из базы:

178
WordPress плагин wp-recall

WordPress плагин wp-recall

Подскажите, пожалуйста, по поводу плагина wp-recallХочу убрать вкладку регистрации, чтобы только можно было авторизироваться, но не могу найти,...

157
Автоматический подсчет

Автоматический подсчет

На странице есть форма с 3 полями: Price, Amount, TotalКак сделать, чтобы после ввода Price и Amount, Total подсчитывался автоматически по какой-либо формуле?

177