2 回答
TA贡献1806条经验 获得超8个赞
需要注意的是,这是一种非常脆弱的方法,并且依赖于 .load
方法中#id
到 uri 的 1:1 映射,因此可以帮助您的正则表达式依赖于捕获组,并且可能如下所示:
/\$\(\"#.*\"\)\.click|\.load\(\".*\"\);/g
在此处查看其功能的细分:https://regex101.com/r/hD0zR5/7
您可以在脚本中使用该正则表达式将一组匹配项转换为数组,其中每 2 个数组项是键/值对。
只要你能保证这是真的(每个2个数组项都是一个键/值对),你就可以遍历数组并创建你要查找的对象。
由于您已经拥有,因此如果需要,可以在创建对象时使用这些值来验证键。categoryIdList
const scripts = `$(document).ready(function(){
$("#travel").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=0&subcat=1");
});
$("#lifestyle").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=0&subcat=2");
});
$("#fnb").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=0&subcat=3");
});
$("#gadget_entertainment").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=0&subcat=4");
});
$("#dailyneeds").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=0&subcat=5");
});
$("#others_promo").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=0&subcat=6");
});
$("#kartukredit").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=1");
});
$("#simpanan").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=2");
});
$("#others").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=3");
});
$("#ebanking").click(function(){
$("#contentpromolain2").load("ajax.promolainnya.php?product=4");
});
});`
const urls = {}
const matches = [...scripts.matchAll(/\$\(\"(#.*)\"\)\.click|\.load\(\"(.*)\"\);/g)]
for (let i = 0;i < matches.length;i += 2) {
urls[matches[i][1]] = matches[i + 1][2]
}
console.log(urls)
TA贡献1836条经验 获得超4个赞
添加回答
举报