ユーザー URL を検証し、先頭に http: を追加する関数を作成する場合、有効な URL として www、https、および // を考慮する必要があります。私が今書いている方法(以下を参照)では、 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;
}
}
}