mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 23:27:35 +00:00
68 lines
1.8 KiB
TypeScript
68 lines
1.8 KiB
TypeScript
interface PasswordCheckProps {
|
|
password: string;
|
|
errorCheck: boolean;
|
|
setPasswordErrorLength: (value: boolean) => void;
|
|
setPasswordErrorNumber: (value: boolean) => void;
|
|
setPasswordErrorLowerCase: (value: boolean) => void;
|
|
}
|
|
|
|
/**
|
|
* This function checks a user password with respect to some criteria.
|
|
*/
|
|
const passwordCheck = ({
|
|
password,
|
|
setPasswordErrorLength,
|
|
setPasswordErrorNumber,
|
|
setPasswordErrorLowerCase,
|
|
errorCheck,
|
|
}: PasswordCheckProps) => {
|
|
if (!password || password.length < 14) {
|
|
setPasswordErrorLength(true);
|
|
errorCheck = true;
|
|
} else {
|
|
setPasswordErrorLength(false);
|
|
}
|
|
|
|
if (!/\d/.test(password)) {
|
|
setPasswordErrorNumber(true);
|
|
errorCheck = true;
|
|
} else {
|
|
setPasswordErrorNumber(false);
|
|
}
|
|
|
|
if (!/[a-z]/.test(password)) {
|
|
setPasswordErrorLowerCase(true);
|
|
errorCheck = true;
|
|
// } else if (/(.)(?:(?!\1).){1,2}/.test(password)) {
|
|
// console.log(111)
|
|
// setPasswordError(true);
|
|
// setPasswordErrorMessage("Password should not contain repeating characters.");
|
|
// errorCheck = true;
|
|
// } else if (RegExp(`[${email}]`).test(password)) {
|
|
// console.log(222)
|
|
// setPasswordError(true);
|
|
// setPasswordErrorMessage("Password should not contain your email.");
|
|
// errorCheck = true;
|
|
} else {
|
|
setPasswordErrorLowerCase(false);
|
|
}
|
|
|
|
// if (!/[A-Z]/.test(password)) {
|
|
// setPasswordErrorUpperCase(true);
|
|
// errorCheck = true;
|
|
// } else {
|
|
// setPasswordErrorUpperCase(false);
|
|
// }
|
|
|
|
// if (!/(?=.*[!@#$%^&*])/.test(password)) {
|
|
// setPasswordErrorSpecialChar(true);
|
|
// // "Please add at least 1 special character (*, !, #, %)."
|
|
// errorCheck = true;
|
|
// } else {
|
|
// setPasswordErrorSpecialChar(false);
|
|
// }
|
|
return errorCheck;
|
|
};
|
|
|
|
export default passwordCheck;
|