0

複数の URL から一連の整数を取得する方法を探しています。

例。

https://www.mywebsite.com/test/systems/121562/data
https://www.mywebsite.com/test/admin/sites/121562
https://www.mywebsite.com/test/admin/site_activations/121562
https://www.mywebsite.com/test/internaladmin/sites/show/121562/reports

現在、ID ( 121562 ) はユーザーに基づいて変更される可能性があります。常に同じ文字数であるとは限らず、2 桁から 6 桁の長さになることもあります。

現在の URL に基づいて、次のコードでこの ID 番号を取得できる必要があります。

以下の私のコードは、URL に ID の直前の部分があるかどうかを判断するところまでです。

var A = (tab.url.indexOf('systems/') > -1);
var B = (tab.url.indexOf('sites/') > -1);
var C = (tab.url.indexOf('site_activations/') > -1);
var D = (tab.url.indexOf('sites/show/') > -1);

var idcode = Unsure code to pull integers from URL;

if( (A && !B) || (B && !A) ) { 
    chrome.tabs.create({ 
    url: "http://www.mywebsite.com/prod?id=" + idcode,
   }) 

} else {

 alert("Do Something");
}
if( (C && !D) || (D && !C) ) { 
    chrome.tabs.create({ 
    url: "http://www.mywebsite.com/prod?id=" + idcode,
}) 
} else {
alert("Do Something");
}

アイデアや推奨事項は大歓迎です。このコードは、Google Chrome ウィジェット用です。

4

2 に答える 2

0

URL に他の数字がない場合は、単純な正規表現を使用して取得できます。

var id = url.match(/([0-9]+)/)[1]

この例を見てください: http://jsfiddle.net/vVL37/

于 2013-10-25T23:17:33.177 に答える