From f0b61f3d76940d462f77e58604812c8eac0fc6d1 Mon Sep 17 00:00:00 2001 From: Roberto Sero Date: Tue, 19 Mar 2024 11:56:47 +0100 Subject: [PATCH] fix: url validation using built-in class --- spid-validator/server/lib/utils.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/spid-validator/server/lib/utils.js b/spid-validator/server/lib/utils.js index bdf3901..9e1cfc1 100644 --- a/spid-validator/server/lib/utils.js +++ b/spid-validator/server/lib/utils.js @@ -227,16 +227,12 @@ class Utils { } static isValidUrl(str) { - const pattern = new RegExp( - '^([a-zA-Z]+:\\/\\/)?' + // protocol - '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name - '((\\d{1,3}\\.){3}\\d{1,3}))' + // OR IP (v4) address - '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path - '(\\?[;&a-z\\d%_.~+=-]*)?' + // query string - '(\\#[-a-z\\d_]*)?$', // fragment locator - 'i' - ); - return pattern.test(str); + try { + new URL(str); + return true; + } catch (err) { + return false; + } } }