次のような文字列パターンがあります。
sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/
「order_id」と「key」テキストの間の数字を取得したいのですが、この数字は任意の長さにすることができます。この 2 つの単語の間の数字を見つけるにはどうすればよいですか?
この番号「155」は動的です。
次のような文字列パターンがあります。
sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/
「order_id」と「key」テキストの間の数字を取得したいのですが、この数字は任意の長さにすることができます。この 2 つの単語の間の数字を見つけるにはどうすればよいですか?
この番号「155」は動的です。
正規表現を使用する:
var num = +( /order_id\/(\d+)\//.exec( str ) || '' )[ 1 ]
その|| ''
部分は、一致がない場合に備えています。また、特に をチェックしたい場合はkey
、それを最後に追加するだけです(最後にある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 セグメントを取得することもできます....
http://jsfiddle.net/hSHkE/を試してください
<div class="test">sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/</div>
var test= $('.test').html().split('/')[3];
alert(test);
どうぞ:
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));