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 пробела и полностью запретить ввод числа.
Комбинируйте как хотите:
!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. возможно можно запихать это все дело в одну регулярку, но как-то потно.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости