From 929681a29c2650112170aec8b8531b48c6da7f22 Mon Sep 17 00:00:00 2001 From: Sherry Ma Date: Mon, 9 Mar 2020 17:02:56 -0400 Subject: [PATCH] add regex rule for checking valid url --- src/js/popup.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/js/popup.js b/src/js/popup.js index beb541a..e4e92c8 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -1092,32 +1092,36 @@ Logic.registerPanel(P_CONTAINER_EDIT, { const tabId = currentTab.id; const fullURL = this.checkUrl(url); - // Assign URL to container - await Logic.setOrRemoveAssignment(tabId, fullURL, userContextId, false); + if (fullURL !== "") { + // Assign URL to container + await Logic.setOrRemoveAssignment(tabId, fullURL, userContextId, false); - // Clear form - document.querySelector("#edit-container-panel-site-input").value = ""; + // Clear form + document.querySelector("#edit-container-panel-site-input").value = ""; - // Show new assignments - const assignments = await Logic.getAssignmentObjectByContainer(userContextId); - this.showAssignedContainers(assignments); + // Show new assignments + const assignments = await Logic.getAssignmentObjectByContainer(userContextId); + this.showAssignedContainers(assignments); + } }, checkUrl(url){ // append "https://" if protocol not found + const validUrl = /[\w.-]+(?:\.[\w.-]+)/g; const regexWww = /.*www\..*/g; - const foundWww = url.match(regexWww); const regexhttp = /^http:\/\/.*/g; const regexhttps = /^https:\/\/.*/g; - const foundhttp = url.match(regexhttp); - const foundhttps = url.match(regexhttps); let newURL = url; + + if (!url.match(validUrl)) { + return ""; + } - if (!foundhttp && !foundhttps) { + if (!url.match(regexhttp) && !url.match(regexhttps)) { newURL = "https://" + url; } - if (!foundWww) { + if (!url.match(regexWww)) { if (newURL.match(regexhttp)) { newURL = "http://www." + newURL.substring(7); } else if (newURL.match(regexhttps)) {