Проверка переменной на валидность PHP

176
23 сентября 2018, 16:40

Есть динамическая переменная $password в которой храниться генерируемый пароль допустим:

$password="BLKoAyZ9";
function testPassword() {
$test=null;
$test=//проверка $password на валидность
return $test // нужно чтобы возвращала true или false
};

Требования к паролю: Миниму 6 букв Минимум 2 цифры Минимум 1 спецсимвол. т.е - (!@#$%^&&*_+) можно ли реализовать проверку чтобы функция возвращала true или false?

Answer 1

Имеем две строки для теста:

$password_1 = 's3xbl4y@t';
$password_2 = 'test$';

И следующую функцию:

function check_password ($pass)
{
    if (strlen($pass) >= 9)
    {
        $number = preg_match_all('/[0-9]/', $pass);
        $letter = preg_match_all('/[A-Za-z]/', $pass);
        $symbol = preg_match_all('/[!@#$%^&*_+]/', $pass);
        if ($letter >= 6 && $symbol >= 1 && $number >= 2)
        {
            return true;
        }
        else return false;
    }
    else return false;
}

Делаем дамп для проверки функции:

var_dump(check_password($password_1), check_password($password_2));

На выходе мы получаем:

bool(true)
bool(false)
Answer 2
// Проверка политик пароля
if (!preg_match('/[A-Z]/', $password)) {
     // Отсутствуют буквы верхнего регистра
}
if (!preg_match('/[a-z]/', $password)) {
    // Отсутствуют буквы нижнего регистра
}
if (!preg_match('/[0-9]/', $password)) {
    // Отсутствуют цифры
}
if (!preg_match("/[,.<>\\/?;:'\"[\\]\\{\\}\\\\|`~!@#$%^&*()_+=-]/", $password)) {
    // Отсутствуют знаки препинания
}
READ ALSO
Share не работает

Share не работает

Здраствуйте, когда делаю share любую страницу он берет одну и туже информацию из одной страницыНе понимаю в чем проблема, код для share не писал,...

152
Настройка CMS через php

Настройка CMS через php

Подскажите пожалуйста, что подразумевает собой настройка и доработка CMS через phpЯ новичок в php, а среди вакансий для разработчиков php очень...

160
PHP MVC Как получить данные из модели?

PHP MVC Как получить данные из модели?

Пытаюсь разобраться с данным php фреймворком: https://githubcom/daveh/php-mvc Там используется Twig

137
Как загрузить файл на сервер через ajax (Codeigniter)

Как загрузить файл на сервер через ajax (Codeigniter)

При использовании стандартных функций после отправки данных из инпута фал не записывается на серверНе пойму в чем дело, читал статьи, везде...

151