Страницы

Поиск по вопросам

четверг, 16 мая 2019 г.

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

Есть динамическая переменная $password в которой храниться генерируемый пароль допустим:
$password="BLKoAyZ9"; function testPassword() { $test=null; $test=//проверка $password на валидность return $test // нужно чтобы возвращала true или false };
Требования к паролю: Миниму 6 букв Минимум 2 цифры Минимум 1 спецсимвол. т.е - (!@#$%^&&*_+) можно ли реализовать проверку чтобы функция возвращала true или false?


Ответ

Имеем две строки для теста:
$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)

Комментариев нет:

Отправить комментарий