我有以下函数(我没写过)来提取URL参数值:
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ""])[1].replace(/\+/g, '%20')) || null
}
我几乎没有正则表达式的经验。此代码目前对参数名称进行区分大小写搜索。我想让RegExp对参数名称进行不区分大小写的搜索。有人可以告诉我如何改变它来实现这一目标吗?
答案 0 :(得分:3)
为regexp(more info)添加i
标志:
new RegExp('your regexp', 'i')
答案 1 :(得分:0)
这是我一直在使用的可能有用的东西,因为我需要做一些非常类似的事情来拉下当前页面的URL的子串然后传入变量用于我的几个功能。
以下是我的网址的通用格式:
文件:///Users/myname/folder/teamname.html
这就是我解析它们的方式:
function parseURL() {
var match = window.location.href.match(/(\w+).html$/);
if (match) {
return match[1];
}
return null;
}
这样做:
1)检查当前页面的URL 2)将URL解析为数组的两个不同片段:" teamname"和" html" 3)然后我返回匹配[1],即" teamname"
我如何使用它:
从那里,我为parseURL函数声明一个变量,如下所示:
var teamSched = parseURL();
现在,我可以使用上面概述的具有相同URL语法的任何页面进行动态调用,以使用parseURL()中的页面特定变量执行特定代码。然后,我使用该变量从我的代码中的对象生成唯一的数据集,这些数据集的关键字是"团队名称"由parseURL()创建的变量。
如果我错了,有人肯定会纠正我,但只要您通过parseURL从您的网址中提取的值与变量,对象密钥相匹配,区分大小写就不应该成为一个因素等等,你正试图访问。
我希望有所帮助!