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

1.16K
.
ПеревозЧЕГ
Лопух Паутинистый
Sitego, да, спасибо, так вернее будет
.
зечем пароль проверяешь на символы? ты его в чистом виде хранишь что ли?
.
ПеревозЧЕГ
Лопух Паутинистый
ramzes, эту проверку я так для опыта делал. уже удалено.
А вот с логином не понятно. Кирилицу и все другие символы пропускает
preg_match('/^[^\Da-z0-9-_\.]$/i', $login)

Хотя все вроде правильно
.
# ПеревозЧЕГ (09.06.2016 / 22:58)
ramzes, эту проверку я так для опыта делал. уже удалено.
А вот с логином не понятно. Кирилицу и все другие символы пропускает

preg_match('/^[^\Da-z0-9-_\.]$/i', $login)
Хотя все вроде правильно
ты напиши логику, то есть что должно пропускать, придумаем глядишь хором оптимальное условие
.
Enter нажат, к чему теперь рыданья…
# ramzes (09.06.2016 / 23:04)
ты напиши логику, то есть что должно пропускать
Да, не совсем понятно, что нужно.
.
ПеревозЧЕГ
Лопух Паутинистый
ramzes, нужен логин, в котором можно использовать латинские буквы -_ и точку. при этом логин не с цифры должен начинаться
.
Enter нажат, к чему теперь рыданья…
Как-то так должно быть
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
.
Enter нажат, к чему теперь рыданья…
# ПеревозЧЕГ (09.06.2016 / 23:34)
только вместо replace надо match
Ну главное, что ты понял, это я по привычке, так как больше замену использую)
Всего: 55