From 47cb4e9cc839416a35cc22ca623a0cf6f3e6b6bc Mon Sep 17 00:00:00 2001 From: Mauro Amico Date: Sat, 8 Feb 2025 22:59:14 +0100 Subject: [PATCH] fix: non backtracking regex --- .../volto/helpers/FormValidation/FormValidation.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/customizations/volto/helpers/FormValidation/FormValidation.js b/src/customizations/volto/helpers/FormValidation/FormValidation.js index 4237c0866..55addbf3f 100644 --- a/src/customizations/volto/helpers/FormValidation/FormValidation.js +++ b/src/customizations/volto/helpers/FormValidation/FormValidation.js @@ -100,11 +100,14 @@ const widgetValidation = { url: { isValidURL: (urlValue, urlObj, intlFunc) => { var urlRegex = new RegExp( - '^(https?:\\/\\/)?' + // validate protocol - '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // validate domain name - '((\\d{1,3}\\.){3}\\d{1,3}))|' + // validate OR ip (v4) address - '(localhost)' + // validate OR localhost address - '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // validate port and path + '^(https?:\\/\\/)?' + // optional protocol + '(' + + '([a-z\\d]+(-[a-z\\d]+)*\\.)+[a-z]{2,}|' + // validate domain name + '((\\d{1,3}\\.){3}\\d{1,3}))|' + // OR ip (v4) address + '(localhost)' + // OR localhost + ')' + + '(\\:\\d+)?' + // optional port + '(\\/[-a-z\\d%_.~+]*)*' + // path '(\\?[;&a-z\\d%_.~+=-]*)?' + // validate query string '(\\#[-a-z\\d_]*)?$', // validate fragment locator 'i',