From b05225c129ee46bb51eca9afe95c87cda93727bc Mon Sep 17 00:00:00 2001 From: Jah-yee <166608075+Jah-yee@users.noreply.github.com> Date: Thu, 6 Aug 2026 17:46:37 +0800 Subject: [PATCH] fix: escape dot in quoted-local-part of email regex The unescaped '.' before (".+") acted as a wildcard instead of a literal dot, causing incorrect email validation for quoted local parts. Fixes issue #55. --- src/utils/validateEmail.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/validateEmail.ts b/src/utils/validateEmail.ts index a1b2fb3..6848af5 100644 --- a/src/utils/validateEmail.ts +++ b/src/utils/validateEmail.ts @@ -2,6 +2,6 @@ export const validateEmail = (email: string) => { return String(email) .toLowerCase() .match( - /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|\.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, ); };