regex 从当前URL JavaScript中获取字符串斜杠后的值

2eafrhcq  于 2023-06-25  发布在  Java
关注(0)|答案(3)|浏览(147)

我有一个当前页面的url,看起来像这样:

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

url可以是动态的,但总是包含***/test_id/value/*,首先我想检查/test_id/**是否存在于我当前的url中:

window.location.href

然后我需要检索值

4urapxun

4urapxun1#

您可以使用正则表达式结合.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-----------
oymdgrw7

oymdgrw72#

使用RegExp#test方法。

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

}

或者使用String#indexOf方法。

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

}
evrscar2

evrscar23#

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

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

相关问题