0

次のような文字列パターンがあります。

sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/

「order_id」と「key」テキストの間の数字を取得したいのですが、この数字は任意の長さにすることができます。この 2 つの単語の間の数字を見つけるにはどうすればよいですか?

この番号「155」は動的です。

4

4 に答える 4

5

正規表現を使用する:

var num = +( /order_id\/(\d+)\//.exec( str ) || '' )[ 1 ]

その|| ''部分は、一致がない場合に備えています。また、特に をチェックしたい場合はkey、それを最後に追加するだけです(最後にある2つ//の間)

于 2013-06-17T06:35:01.267 に答える
2

これを分割してみてください

var url = "sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/"
var stuff = url.split('/');
var order_id = stuff['3'];    //since segment 4 will be the order id
alert("Order id is "+ order_id);

このメソッドを使用して、個々の URL セグメントを取得することもできます....

于 2013-06-17T06:39:15.363 に答える
1

http://jsfiddle.net/hSHkE/を試してください

 <div class="test">sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/</div>


var test=  $('.test').html().split('/')[3];
    alert(test);
于 2013-06-17T06:44:43.557 に答える
1

どうぞ:

var str="sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/";
var n=str.indexOf("order_id/");
var m=str.indexOf("/key");

alert(str.substring(n + ("order_id/").length,m));

ライブデモ: JSFiddle

于 2013-06-17T06:45:20.230 に答える