form-genius
Version:
🚀 AI-powered, dynamic, and customizable form validation for Node.js. Supports unlimited fields, auto-detection, real-time validation, and AI-based corrections.
16 lines (13 loc) • 901 B
JavaScript
module.exports = function validatePassword(password, rules) {
const minLength = rules.minLength || 8;
const hasUpperCase = /[A-Z]/.test(password);
const hasLowerCase = /[a-z]/.test(password);
const hasNumber = /[0-9]/.test(password);
const hasSpecialChar = /[!@#$%^&*]/.test(password);
if (password.length < minLength) return { valid: false, message: `Password must be at least ${minLength} characters` };
if (!hasUpperCase) return { valid: false, message: "Password must contain at least one uppercase letter" };
if (!hasLowerCase) return { valid: false, message: "Password must contain at least one lowercase letter" };
if (!hasNumber) return { valid: false, message: "Password must contain at least one number" };
if (!hasSpecialChar) return { valid: false, message: "Password must contain at least one special character" };
return { valid: true };
};