重複の可能性:
Javascript 文字列が URL かどうかを確認する
私は RegEx にあまり詳しくないので、この問題の解決を手伝っていただければ幸いです。
次のような JS 関数が必要です。
- 文字列 (textarea 入力) に URL があるかどうかを確認します。
- はいの場合 - 最初に見つかった URL を検索し、配列 (true,url) を返します
- いいえの場合 - 配列を返します(false,"")
私が抱えている問題は、入力を検証するこのパターンです。
function _is_url(url) {
var pattern = /(((ht|f)tps?\:\/\/)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5})(:[\d]{1,5})?))\S+/i;
var result = new Array();
var testing = pattern.test(url);
if(testing) {
var newurl = url.match(pattern);
result[0] = true;
result[1] = newurl[0];
console.log(result[1]);
}
else {
result[0] = false;
result[1] = "";
}
return result;
}
このパターンでは、URL が有効な URL ではないhttp://www.youtubeであっても == true をテストします。
必要なのは、完全な URL を確認することです: http://www.youtube.comおよびその他の URL。