From 049adafbad8201c9dd9d18890fc0d6d706c4d46a Mon Sep 17 00:00:00 2001 From: MahmoudDe Date: Mon, 6 Oct 2025 09:49:42 +0000 Subject: [PATCH] Closes: #1 Updated validations.py python script. Fixed the behavior of validate_user function in validations.py. --- Course3/Lab4/validations.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Course3/Lab4/validations.py b/Course3/Lab4/validations.py index b18de65a2e..9c7d049b80 100644 --- a/Course3/Lab4/validations.py +++ b/Course3/Lab4/validations.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 + import re def validate_user(username, minlen): @@ -12,13 +13,23 @@ def validate_user(username, minlen): # 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): + + # 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(): return False + + # Usernames can't begin with a dot or underscore + if username[0] in ['.', '_']: + 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