1

みたいなURLがいくつかありました

/WebSite/Movies/807?sort=MovieName&sortdir=DESC&p2=2&p3=3

/WebSite/Movies/807?sort=MovieName&sortdir=ASC&p4=4&p5=5

そして、私は次のような部分だけを取得する必要があります

/WebSite/Movies/807?sort=MovieName&sortdir=DESC

/WebSite/Movies/807?sort=MovieName&sortdir=ASC

JavaScript Regex または JQueryを介してどのように行うことができますか?

http://regexpal.com/などのオンライン ツールがあることは知っていますが、文字列が DESC または ASC で終わるかどうかを判断する方法がわかりません。

ありがとうございました!

4

4 に答える 4

4

あなたは部分文字列でそれを行うことができます

var sub = "";
if (string.indexOf("DESC") !== -1) {
    sub = string.substring(0, string.indexOf("DESC") + 4);
}
else if (string.indexOf("ASC") !== -1) {
    sub = string.substring(0, string.indexOf("ASC") + 3);
}

alert(sub);
于 2012-08-15T21:12:41.920 に答える
1

これはすでに答えられていると思いますが、これが私がいつもあなたと共有するfnです。探しているクエリ文字列( "key")が存在しない場合は、"default_"に設定した値を返します。それ以外の場合は、「key」の値を返します。

どこから手に入れたのか覚えていません。私はどこかからそれを拾い上げて、いくつかの穏やかな改良をしました。

    getQuerystring = function(key, default_){
        if (default_==null) default_=""; 
        key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
        var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
        var qs = regex.exec(window.location.href);
        if(qs == null)
           return default_;
        else
           return qs[1];
    }
于 2012-08-15T21:44:44.630 に答える
1

以下は、desc または asc までのすべてに一致する正規表現パターンです。

    .+[(DESC)(ASC)]
于 2012-08-15T21:15:04.010 に答える
1

これを試してください(JavaScriptとjQueryを使って楽しみのために)):

/.*(DESC|ASC).*/g

グループを見てください(#2には探しているものがあります)

<input id="Link" value="/WebSite/Movies/807?sort=MovieName&sortdir=DESC&p2=2&p3=3" style="width: 90%;" />
<br />
<button onclick="getOrder();">Get Order</button>
<script>
getOrder = function() {
    var url = $('#Link').val()
        , regex= /.*(DESC|ASC).*/g
        , match = regex.exec(url);

    alert(match[1]);
}
</script>
于 2012-08-15T21:17:47.737 に答える