从当前url javascript的字符串斜杠后获取值

时间:2017-03-14 05:58:59

标签: javascript regex url

我有一个如下所示的当前页面网址:

http://localhost/admin/namespace_module/yeezy/index/test_id/5/key/23123asda/

网址可以是动态的,但始终包含 / test_id / value / ,首先我想检查 / test_id / 是否存在在我目前的网址中:

window.location.href

然后我需要检索值

3 个答案:

答案 0 :(得分:1)

使用RegExp#test方法。

if(/\/test_id\//.test(window.location.href)){

}

或使用String#indexOf方法。

if(window.location.href.indexOf('/test_id/') > -1){

}

答案 1 :(得分:1)

您可以使用正则表达式与.test()结合使用来检查并.match()提取数字:

var url = "http://localhost/admin/namespace_module/yeezy/index/test_id/5/key/23123asda/"; // window.locatioin.href;

if(/test_id\/[0-9]+/.test(url)){
   console.log(url.match(/test_id\/[0-9]+/)[0].match(/[0-9]+/)[0]);
   //--test_id/5---------^^^^^^^^^^^^^^^^^^^^^----5--^^^^^^^^^^^^
}  //--output-----------------------------------output-----------

答案 2 :(得分:1)

要在测试模式后获取数字,请执行以下操作:

var match = window.location.href.match(/\/test_id\/(\d+)/);
if (match) {
    // pattern is OK, get the number
    var num = +match[1];
    // ...
}