Задать вопрос
@Lavrov95

Почему preg_match не работает?

Preg_match php должен состоять из маленьких и больших букв и цифр.
if (is_array($json_ary) || is_object($json_ary)) {
            foreach ($json_ary as $id => $val) {

                if (preg_match('[a-zA-Z0-9_]' , $_POST['password']))
                {
                    $error = 'Secure enough';
                    return $error;
                }  if(strlen($_POST['password'])<8){
                    $error = "Password must be at least 8 characters";
                    return $error;
                }

                if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
                    $error = "Invalid email address";
                    return $error;
                }
                if ($_POST['email'] == $val['email']) {
                    $emailFound = TRUE;
                    $error = 'Email already in use';
                    break;

                }

            }
  • Вопрос задан
  • 219 просмотров
Подписаться 1 Простой 7 комментариев
Решения вопроса 1
Winsik
@Winsik
сис.админ, недопрограммист :)
if (preg_match('/^[a-zA-Z0-9_]+$/' , $_POST['password']) == 0 )


Обязательно маленькая буква, большая буква и цифра, из спец символов только подчёркивание:
if(!preg_match('/^(?=.*\d)(?=.*[A-Z])(?=.*[a-z])[0-9A-Za-z_]{8,12}$/', $_POST['password']))

и в довесток от 8 до 12 символов =)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы