diff --git a/Course3/Lab4/validations.py b/Course3/Lab4/validations.py index b18de65a2e..1bdc48e03e 100644 --- a/Course3/Lab4/validations.py +++ b/Course3/Lab4/validations.py @@ -3,22 +3,24 @@ import re def validate_user(username, minlen): - """Checks if the received username matches the required conditions.""" if type(username) != str: raise TypeError("username must be a string") if minlen < 1: raise ValueError("minlen must be at least 1") - # Usernames can't be shorter than minlen if len(username) < minlen: return False - # Usernames can only use letters, numbers, dots and underscores - if not re.match('^[a-z0-9._]*$', username): - return False - # Usernames can't begin with a number - if username[0].isnumeric(): + + # First char must be a letter, rest can be letters, numbers, dots, or underscores + if not re.match('^[a-z][a-z0-9._]*$', username): return False + return True +print(validate_user("blue.kale", 3)) # True +print(validate_user(".blue.kale", 3)) # Currently True, should be False +print(validate_user("red_quinoa", 4)) # True +print(validate_user("_red_quinoa", 4)) # Currently True, should be False +