add password validation

This commit is contained in:
Henry 2025-08-14 21:32:43 +08:00
parent d46518bf1a
commit 4f460c91f7
1 changed files with 11 additions and 1 deletions

View File

@ -18,6 +18,16 @@ export function isInvalidDateTime(dateTime: unknown): boolean {
} }
export function isInvalidPassword(password: unknown): boolean { export function isInvalidPassword(password: unknown): boolean {
// Minimum Length: At least 8 characters
// Maximum Length: No more than 128 characters
// Lowercase Letter: Must contain at least one lowercase letter (a-z)
// Uppercase Letter: Must contain at least one uppercase letter (A-Z)
// Digit: Must contain at least one number (0-9)
// Special Character: Must contain at least one special character (anything that's not a letter or number)
if (!password || typeof password !== 'string' || password.length > 128) {
return true
}
const regexPassword = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z0-9]).{8,}$/ const regexPassword = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z0-9]).{8,}$/
return !password || typeof password !== 'string' || !regexPassword.test(password) return !regexPassword.test(password)
} }