5

私は配列を持っています:

var checkURL = ['abc123', 'abc124', 'abc125'];

配列内の文字列の1つがwindow.location.pathnameに存在するかどうかを確認するにはどうすればよいですか?

私は個人的に使用できることを知っています:

<script type="text/javascript">
    $(document).ready(function () {
        if(window.location.href.indexOf("abc123") > -1) {
           alert("your url contains the string abc123");
        }
    });
</script> 
4

7 に答える 7

10

線形探索にはforループを使用します。

$(document).ready(function () {
    var checkURL = ['abc123', 'abc124', 'abc125'];

    for (var i = 0; i < checkURL.length; i++) {
        if(window.location.href.indexOf(checkURL[i]) > -1) {
            alert("your url contains the string "+checkURL[i]);
        }
    }
});
于 2013-03-11T17:09:48.220 に答える
1

forループを使用します。

$(document).ready(function () {
    for (var i = 0; i < checkURL.length; i++) {
        if(window.location.href.indexOf(checkURL[i]) > -1) {
           alert("your url contains the string " + checkURL[i]);
        }
    }
});
于 2013-03-11T17:09:54.597 に答える
1

joinと正規表現を使用するオプションは次のとおりです。

var checkURL = ['abc123', 'abc124', 'abc125'];
var url = window.location.href;

var Matches = RegExp(checkURL.join('|')).exec(url);

if (Matches) {
    alert('your url contains the string ' + Matches[0]);
}

jsFiddle

于 2013-10-15T09:30:05.360 に答える
0

テストデータをマップに変換できます

var checkURL = {'abc123':'', 'abc124':'', 'abc125':''};
var url = window.location.pathname.split('/');

for(var i=0;i<url.length;i++){
var targetUrl=url[i];
if(typeof checkURL[targetUrl]!=='undefined'){
alert(targetUrl);
}
}
于 2013-03-11T17:13:17.327 に答える
0

そして、参考のために、このエレガントなソリューション:

var checkURL = ['abc123', 'abc124', 'abc125'];

var inArray = checkURL.some(function(el) {
    return ~location.href.indexOf(el);
}); // true/false

注:これには、someメソッドにシムが必要です。

于 2013-03-11T17:13:28.433 に答える
0

ループはこれを行うことができます:

for(var p in checkURL){
   if(window.location.pathname.indexOf(checkURL[p]) > -1){
      alert("your url contains the string");
   }
}
于 2013-03-11T17:15:08.557 に答える
0

質問でjqueryにタグを付けたので、each()関数を使用します

jQuery.each(checkURL, function(i,v) {
if(window.location.href.indexOf(checkURL[i]) > -1) {
           alert("your url contains the string " + checkURL[i]);
        }
});

キーと値のペアを表すためにi変数とv変数を使用する必要はありません

于 2013-03-11T17:16:43.657 に答える