feat: ♻️ Rewrite registration UI

This commit is contained in:
Jesse Wierzbinski 2024-06-15 20:34:35 -10:00
parent fc6b44d237
commit fef4fa1e30
No known key found for this signature in database
8 changed files with 221 additions and 25 deletions

22
utils/passwords.ts Normal file
View file

@ -0,0 +1,22 @@
/**
* Get the strength of a password
* @param password The password to check
* @returns Number from 0 to Infinity representing the strength of the password
*/
export const passwordStrength = (password: string): number => {
const length = password.length;
const specialChars = password.match(/[^A-Za-z0-9]/g)?.length || 0;
const numbers = password.match(/[0-9]/g)?.length || 0;
const upperCase = password.match(/[A-Z]/g)?.length || 0;
const lowerCase = password.match(/[a-z]/g)?.length || 0;
// Calculate the strength of the password
return (
(length * 4 +
specialChars * 6 +
numbers * 4 +
upperCase * 2 +
lowerCase * 2) /
16
);
};