UNPKG

password-chacker-xqwe

Version:

A simple password strength checker with basic and advanced validation

57 lines (47 loc) 2.04 kB
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 } }