Sitego, да, спасибо, так вернее будет
зечем пароль проверяешь на символы? ты его в чистом виде хранишь что ли?
ramzes, эту проверку я так для опыта делал. уже удалено.
А вот с логином не понятно. Кирилицу и все другие символы пропускает
preg_match('/^[^\Da-z0-9-_\.]$/i', $login)
Хотя все вроде правильно
# ПеревозЧЕГ (09.06.2016 / 22:58)
ramzes, эту проверку я так для опыта делал. уже удалено.
А вот с логином не понятно. Кирилицу и все другие символы пропускает
preg_match('/^[^\Da-z0-9-_\.]$/i', $login)
Хотя все вроде правильно
ты напиши логику, то есть что должно пропускать, придумаем глядишь хором оптимальное условие
# ramzes (09.06.2016 / 23:04)
ты напиши логику, то есть что должно пропускать
Да, не совсем понятно, что нужно.
ramzes, нужен логин, в котором можно использовать латинские буквы -_ и точку. при этом логин не с цифры должен начинаться
Как-то так должно быть
preg_replace("|^\D[A-Za-z0-9\._-]{4,20}|i",$login);
что то мне подсказывает что то в коде у меня не то
$login = $_POST['login'];
$pass = $_POST['password'];
$error = array();
//проверка логина
if(empty($login)){
$error['login'][] = 'Заполните поле логин';
} elseif (mb_strlen($login)<4 || mb_strlen($login)>20){
$error['login'][] = 'Логин должен содержать не менее 4 и не более 20 символов';}
if (preg_match("|^\D[A-Za-z0-9\._-]{4,20}|i",$login)){
$error['login'][] = 'Используйте буквы англ. языка и цифры.';
}
echo @implode('<br />', $error['login']).'<br>';
Плюс все скопированное в нэте тоже ничего не выводит. хотя на пароль выводило отлично все а на логин нет
# Sitego (09.06.2016 / 23:26)
Как-то так должно быть
preg_replace("|^\D[A-Za-z0-9\._-]{4,20}|i",$login);
только вместо replace надо match
# ПеревозЧЕГ (09.06.2016 / 23:34)
только вместо replace надо match
Ну главное, что ты понял, это я по привычке, так как больше замену использую)