我有一个当前页面的url,看起来像这样:
http://localhost/admin/namespace_module/yeezy/index/test_id/5/key/23123asda/
url可以是动态的,但总是包含***/test_id/value/*,首先我想检查/test_id/**是否存在于我当前的url中:
window.location.href
然后我需要检索值
4urapxun1#
您可以使用正则表达式结合.test()进行检查,并使用.match()提取数字:
.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-----------
oymdgrw72#
使用RegExp#test方法。
RegExp#test
if(/\/test_id\//.test(window.location.href)){ }
或者使用String#indexOf方法。
String#indexOf
if(window.location.href.indexOf('/test_id/') > -1){ }
evrscar23#
要在测试模式后获得数字,请执行以下操作:
var match = window.location.href.match(/\/test_id\/(\d+)/); if (match) { // pattern is OK, get the number var num = +match[1]; // ... }
3条答案
按热度按时间4urapxun1#
您可以使用正则表达式结合
.test()
进行检查,并使用.match()
提取数字:oymdgrw72#
使用
RegExp#test
方法。或者使用
String#indexOf
方法。evrscar23#
要在测试模式后获得数字,请执行以下操作: