From 63649e9022ecef6fe71f44ef863f43678fa216c0 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Wed, 3 Feb 2021 15:46:56 -0800 Subject: [PATCH] Tweak url validation pattern --- web/utils/urls.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/web/utils/urls.ts b/web/utils/urls.ts index f5fc6427e..058bf0639 100644 --- a/web/utils/urls.ts +++ b/web/utils/urls.ts @@ -1,10 +1,4 @@ -// Stolen from https://stackoverflow.com/a/5717133 export function isValidUrl(url: string): boolean { - var pattern = new RegExp('^(https?:\\/\\/)?'+ // 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_]*)?$','i'); // fragment locator + const pattern = /^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/; return !!pattern.test(url); } \ No newline at end of file