在制作一个验证用户 URL 并在前面添加 http: 的函数时,我必须将 www、https 和 // 的情况考虑为有效的 url。我现在写的方式(见下文),我只在前面加上 http: ,这样//stackoverflow.com的情况就不会变成http:////stackoverflow.com。
这意味着像 stackoverflow.com 这样的 url 变成了http:stackoverflow.com。
在 Firefox 和 Chrome 中,这工作得很好,但是这些 URL 将被各种浏览器和设备点击。它是通用的吗?为 // 案例重写此检查很容易,但我对答案很感兴趣。
前置方法:
function prependHTTPtoWebURL() {
var url = (el('org_website').value);
var httpVar;
var testFor;
if (url) {// If there's a website URL value
testFor = url.toLowerCase();
if (testFor.indexOf("http") != 0){
httpVar = 'http:'; //add it
url = httpVar + url;
el('org_website').value = url;
}
}
}