2011-03-30 234 views
14

我處於需要在JavaScript中重寫url並將其從http協議切換到https的情況。使用正則表達式和javascript將HTTP URL重寫爲HTTPS

我可以匹配的HTTPS網址:

if(url.match('^http://')){ 

,但我怎麼形成使用正則表達式和JavaScript的HTTPS URL?

url = "https://" + ?; 
+0

,如果用戶已禁用JavaScript? – Neal 2011-03-30 19:26:38

+0

我們的網站有一個免責聲明,已經聲明它不會在這種情況下工作。許多事情會被打破是JavaScript被禁用。 – stevebot 2011-03-30 19:27:37

+0

安全性不應該依賴瀏覽器的JavaScript支持。 – Gumbo 2011-03-30 19:32:22

回答

44

用正則表達式直接替換:

url = url.replace(/^http:\/\//i, 'https://'); 
8

無法通過簡單的更換HTTP字符串做些什麼呢?

if(url.match('^http://')){ 
    url = url.replace("http://","https://") 
} 
+0

是的,但它不像正則表達式那樣控制器 – stevebot 2011-03-30 19:29:07

+2

替換的第一個參數可以是正則表達式 – Stephan 2011-03-30 19:32:07

+0

好點。 (upvoted) – 2011-03-30 19:37:52