diff --git a/Client-Side Components/Client Scripts/Validate Email Format/README.md b/Client-Side Components/Client Scripts/Validate Email Format/README.md index b3ecfc1f99..d37000fb2f 100644 --- a/Client-Side Components/Client Scripts/Validate Email Format/README.md +++ b/Client-Side Components/Client Scripts/Validate Email Format/README.md @@ -1,3 +1,9 @@ onSubmit Function: This client script validates the email format when the form is submitted. -Regular Expression: It uses a regex pattern to check if the entered email matches a standard email format. +Regular Expression: It uses a comprehensive email regex pattern to check if the entered email matches a standard email format. + +This pattern can handles: +- Quoted local parts (`"john doe"@example.com`) +- Dots within the local segment (`first.m.last@subdomain.org`) +- IP-based domains (`user@[192.168.1.1]`) + Error Message: If the email is invalid, an error message is displayed, and form submission is prevented. diff --git a/Client-Side Components/Client Scripts/Validate Email Format/ValidateEmailFormat.js b/Client-Side Components/Client Scripts/Validate Email Format/ValidateEmailFormat.js index ce21af0e39..1f16d88f21 100644 --- a/Client-Side Components/Client Scripts/Validate Email Format/ValidateEmailFormat.js +++ b/Client-Side Components/Client Scripts/Validate Email Format/ValidateEmailFormat.js @@ -2,7 +2,8 @@ function onSubmit() { var emailField = g_form.getValue('email'); - var emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + //Comprehensive email regex pattern + var emailPattern = /^(([^<>()\[\]\\.,;:\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,}))$/; if (!emailPattern.test(emailField)) { g_form.addErrorMessage('Please enter a valid email address.');