From 317873ad65e85671e53b73fe85e3015842335695 Mon Sep 17 00:00:00 2001 From: huangjx Date: Sat, 11 Sep 2021 15:00:00 +0800 Subject: [PATCH] updated regex rules for checking valid url --- src/helper.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/helper.js b/src/helper.js index 64e4e55..658bba9 100644 --- a/src/helper.js +++ b/src/helper.js @@ -36,12 +36,10 @@ const helper = { }, delay); }, isURL(url) { - const 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 + let regex = '^(?:(?:https?|ftp)://)(?:\\S+(?::\\S*)?@|\\d{1,3}(?:\.\\d{1,3}){3}|(?:(?:[a-z\\d\\u{00a1}-\\u{ffff}' + + ']+-?)*[a-z\\d\\u{00a1}-\\u{ffff}]+)(?:\.(?:[a-z\\d\\u{00a1}-\\u{ffff}]+-?)*[a-z\\d\\u{00a1}-\\u{ffff}]+)*(?:\.' + + '[a-z\\u{00a1}-\\u{ffff}]{2,6}))(?::\\d+)?(?:[^\\s]*)?$'; + const pattern = new RegExp(regex, 'iu'); return pattern.test(url); }, isMagnetURI(url) {