Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- - Password validator
- - Ensures a password entered on registration meets specific requirements.
- - If it returns 0 that means it passed
- - If it returns 1 that means the password has less than the minimum characters
- - If it returns 2 that means the password contains less than the minimum special characters
- - If it returns 3 that means the password contains less than the minimum numbers
- - If it returns 4 that means the password contains less than the minimum capital letters
- $password - The password to validate
- $minChars - The minimum amount of characters the password is permitted to have
- $leastSpecialCharacters - The minimum amount of special characters permitted
- $leastNumbers - The minimum amount of numbers permitted
- $leastCapitalLetters - The minimum amount of capital letters permitted
- */
- public function validatePassword($password, $minChars = 6, $leastSpecialCharacters = 0, $leastNumbers = 0, $leastCapitalLetters = 0) {
- $valid = 0;
- if (strlen($password) < $minChars)
- $valid = 1;
- $numSpecialChars = 0;
- $numNumbers = 0;
- $numCapitalLetters = 0;
- // iterate through each character in password
- for ($i = 0; $i < strlen($password); $i++) {
- $char = substr($password, $i, 1);
- if (!preg_match("#^[a-zA-Z0-9]+$#", $char))
- $numSpecialChars++;
- elseif (preg_match("#^[A-Z]+$#", $char))
- $numCapitalLetters++;
- elseif (preg_match("#^[0-9]+$#", $char))
- $numNumbers++;
- }
- if ($numSpecialChars < $leastSpecialCharacters)
- $valid = 2;
- if ($numNumbers < $leastNumbers)
- $valid = 3;
- if ($numCapitalLetters < $leastCapitalLetters)
- $valid = 4;
- return $valid;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement