password-chacker-xqwe
Version:
A simple password strength checker with basic and advanced validation
57 lines (47 loc) • 2.04 kB
JavaScript
import lengthValidator from "../validators/lengthValidator.js";
import characterValidator, { whitespace } from "../validators/characterValidator.js";
export default function s1Password(password){
const length_Validator = lengthValidator(password);
const character_Validator = characterValidator(password);
const whitespace_Validator = whitespace(password);
const msg = [];
msg.push(length_Validator.length.message);
if(!character_Validator.uppercase.present) {
msg.push(character_Validator.uppercase.message);
}
if(!character_Validator.lowercase.present) {
msg.push(character_Validator.lowercase.message);
}
if(!character_Validator.digits.present) {
msg.push(character_Validator.digits.message);
}
if(!character_Validator.special_characters.present) {
msg.push(character_Validator.special_characters.message);
}
if(!whitespace_Validator.is_valid) {
msg.push(whitespace_Validator.message);
}
return {
"status": "success",
"is_valid": [whitespace_Validator.is_valid, length_Validator.length.is_valid, character_Validator.is_valid].every(Boolean),
"password": password,
"score": length_Validator.score + character_Validator.score,
"messages": msg
}
}
export function s2Password(password){
const length_Validator = lengthValidator(password);
const character_Validator = characterValidator(password);
const whitespace_Validator = whitespace(password);
return {
"status": "success",
"is_valid": [whitespace_Validator.is_valid, length_Validator.length.is_valid, character_Validator.is_valid].every(Boolean),
"password": password,
"score": length_Validator.score + character_Validator.score,
"validation_details": {
"length": length_Validator.length,
"character_types": character_Validator
},
"whitespace": whitespace_Validator
}
}