From a593de7e5918f0fae49dba9a131729a5448c7ad0 Mon Sep 17 00:00:00 2001 From: Hubert Koster Date: Fri, 9 Jul 2021 16:24:23 +0200 Subject: [PATCH 1/2] expanding regex with unicode filtering. --- src/javascript/app/common/form_validation.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/javascript/app/common/form_validation.js b/src/javascript/app/common/form_validation.js index 88fb7333c9476..d301d3f7dde0a 100644 --- a/src/javascript/app/common/form_validation.js +++ b/src/javascript/app/common/form_validation.js @@ -159,13 +159,16 @@ const Validation = (() => { // ------------------------------ // ----- Validation Methods ----- // ------------------------------ + + // The unicodes in the validEmail check, only select latin alphabet characters. + // This allows filtering other invalid unicode alphabet characters. + const validEmail = value => /^(([a-zA-Z0-9\u0080-\u00ff\u0100-\u017f\u0180-\u024f][^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}))$/.test(value); const validRequired = (value, options, field) => { if (value.length) return true; // else ValidatorsMap.get().req.message = field.type === 'checkbox' ? localize('Please select the checkbox.') : localize('This field is required.'); return false; }; - const validEmail = value => /^(([^<>()[\]\\.,;:\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,}))$/.test(value); const validPassword = (value, options, field) => { if (/^(?=.*[a-z])(?=.*[0-9])(?=.*[A-Z])[ -~]*$/.test(value)) { Password.checkPassword(field.selector, true); From c9013a690e14523c2a0af20c181b7b5434db4bca Mon Sep 17 00:00:00 2001 From: Hubert Koster Date: Mon, 12 Jul 2021 15:44:41 +0200 Subject: [PATCH 2/2] refactoring code --- src/javascript/app/common/form_validation.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/javascript/app/common/form_validation.js b/src/javascript/app/common/form_validation.js index d301d3f7dde0a..fa3c8341084dd 100644 --- a/src/javascript/app/common/form_validation.js +++ b/src/javascript/app/common/form_validation.js @@ -160,9 +160,7 @@ const Validation = (() => { // ----- Validation Methods ----- // ------------------------------ - // The unicodes in the validEmail check, only select latin alphabet characters. - // This allows filtering other invalid unicode alphabet characters. - const validEmail = value => /^(([a-zA-Z0-9\u0080-\u00ff\u0100-\u017f\u0180-\u024f][^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}))$/.test(value); + const validEmail = value => /^(([a-zA-Z0-9][^!@£$%^&*=/?§±~<>(){}[\]\\.,;:\s@"'`]+(\.[^!@£$%^&*=/?§±~<>(){}[\]\\.,;:\s@"'`]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}))$/.test(value); const validRequired = (value, options, field) => { if (value.length) return true; // else