From 6ab6cd31988828700e3e7f24b599fe9d5fcf6d1d Mon Sep 17 00:00:00 2001 From: SUMIQVERSE Date: Wed, 27 May 2026 16:53:57 +0530 Subject: [PATCH 1/2] fix: update Zod password regex to accept all special characters --- backend/validators/authValidator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/validators/authValidator.js b/backend/validators/authValidator.js index ab4dac07..1c67259b 100644 --- a/backend/validators/authValidator.js +++ b/backend/validators/authValidator.js @@ -18,7 +18,7 @@ const signupSchema = z.object({ .min(8, "Password must be at least 8 characters long") .max(100, "Password must be at most 100 characters long") .regex( - /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]+$/, + /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$/, 'Password must contain uppercase, lowercase, number, and special character' ), }); From 30f15841a264b825b72382a4d0832a5cf0dc1d89 Mon Sep 17 00:00:00 2001 From: SUMIQVERSE Date: Wed, 27 May 2026 18:05:03 +0530 Subject: [PATCH 2/2] fix: update regex to prevent whitespace from satisfying special character requirement --- backend/validators/authValidator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/validators/authValidator.js b/backend/validators/authValidator.js index 1c67259b..62c33c04 100644 --- a/backend/validators/authValidator.js +++ b/backend/validators/authValidator.js @@ -18,7 +18,7 @@ const signupSchema = z.object({ .min(8, "Password must be at least 8 characters long") .max(100, "Password must be at most 100 characters long") .regex( - /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$/, + /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s])[^\s]{8,}$/, 'Password must contain uppercase, lowercase, number, and special character' ), });