Javascript正则表达式将协议添加到url字符串

dev*_*evo 3 javascript regex url

我有一个使用JavaScript列出一些网站详细信息的应用程序.将有一个使用JavaScript本身生成的网站链接.有时我会得到我的链接,

<a href="http://www.google.com">Website</a>
Run Code Online (Sandbox Code Playgroud)

但有时它会,

<a href="www.yahoo.com">Website</a>
Run Code Online (Sandbox Code Playgroud)

在第二次链接不起作用时,没有协议.

所以我正在寻找一个JavaScript正则表达式函数来添加http://如果没有协议.

我的代码看起来像,

var website_link = document.createElement("a"); 
website_link.innerHTML = "Website"; 
website_link.href = my_JSON_object.website;
website_link.target = "_blank"; 
profile.appendChild(website_link); 
Run Code Online (Sandbox Code Playgroud)

并且不会有本地链接.

ost*_*che 7

看到这个链接.

function setHttp(link) {
    if (link.search(/^http[s]?\:\/\//) == -1) {
        link = 'http://' + link;
    }
    return link;
}
alert(setHttp("www.google.com"));
alert(setHttp("http://www.google.com/"));  
Run Code Online (Sandbox Code Playgroud)

在你的代码中它将是:

var website_link = document.createElement("a"); 
website_link.innerHTML = "Website";
if (my_JSON_object.website.search(/^http[s]?\:\/\//) == -1) {
    my_JSON_object.website = 'http://' + my_JSON_object.website;
}
website_link.href = my_JSON_object.website;
website_link.target = "_blank"; 
profile.appendChild(website_link); 
Run Code Online (Sandbox Code Playgroud)