diff --git a/session-01/validators.js b/session-01/validators.js index 56ea66d..8371820 100644 --- a/session-01/validators.js +++ b/session-01/validators.js @@ -7,7 +7,21 @@ - username cannot contain special characters */ function validUsername(username) { - return; + let len = username.length; + + // Check for valid length + if (!(len >= 3 && len <= 10)) return false; + + // Check for valid first letter + if (!(username[0] >= "A" && username[0] <= "z")) return false; + + // Check for valid characters (alphanumeric) + for (let i = 1; i < len; i++) { + if (!((username[i] >= "0" && username[i] <= "9") + || (username[i] >= "A" && username[i] <= "z"))) + return false; + } + return true; } /* @@ -17,7 +31,21 @@ function validUsername(username) { - password must contain at least 1 letter, 1 number, and 1 special character */ function validPassword(password) { - return; + let len = password.length; + + // Check for valid length + if (!(len >= 10 && len <=64)) return false; + + // Check for valid constraints + let hasLetter = false, hasNumber = false, hasSpecialChar = false; + + for (let i = 0; i < len; i++) { + if (password[i] >= "A" && password[i] <= "z") hasLetter = true; + else if (password[i] >= "0" && password[i] <= "9") hasNumber = true; + else hasSpecialChar = true; + } + + return (hasLetter === true && hasNumber === true && hasSpecialChar === true); } module.exports = { validUsername, validPassword }; diff --git a/session-02/exercise.js b/session-02/exercise.js index 6ade818..f9c0412 100644 --- a/session-02/exercise.js +++ b/session-02/exercise.js @@ -3,7 +3,10 @@ For example, for the input ["cat", "hat"], return ["CAT", "HAT"] */ function transformArrayToUpper(listOfStrings) { - return; + let transformedArray = listOfStrings.map((string) => { + return string.toUpperCase(); + }); + return transformedArray; } /* @@ -16,7 +19,11 @@ function transformArrayToUpper(listOfStrings) { the function should return 51 */ function sumOfAllAges(listOfStudentObjects) { - return; + let sum = 0; + listOfStudentObjects.forEach((student) => { + if (student.age) sum += student.age; + }); + return sum; } module.exports = { transformArrayToUpper, sumOfAllAges };