js 正则表达式 $1-$9 重置

如题,我写了一个函数获取url中的参数,用到了正则表达式。getUrlParam:function(_key,_url){if(typeof(_url)=="object... 如题,我写了一个函数获取url中的参数,用到了正则表达式。
getUrlParam: function(_key, _url) {
if (typeof(_url) == "object") {
_url = _url.location.href;
} else {
_url = (typeof(_url) == "undefined" || _url == null || _url == "") ? window.location.href : _url;
}

//用正则表达式判断,利用定界符\b
var reg = new RegExp(".*\\b"+name+"\\b=([^&]+).*", "i");
var value = "";

if (reg.test(_url)) {
value = RegExp.$1;
}

return value;
}
在页面中我这样调用:url="http://localhost/HomedPC/play/?videoid=100002025&type=2",获取两个参数,var videoid = getUrlParam("videoid"); var videoType = getUrlParam("type")。结果两个值都是2,是因为正则表达式的静态属性$1的原因。所以我就想问,有没有办法在获取到值以后,将正则表达式的$1-$9重置。求大神解答
展开
 我来答
yugi111
推荐于2017-10-04 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script>
var getUrlParam = function (h, key) {
var reg = new RegExp (key + "\\=([^\\=\\&]*)");
if (h.match(reg)) {
return RegExp.$1;
}
else {
return "";
}
}
var h = window.location.href;
document.write(getUrlParam(h, "videoid") + "," + getUrlParam(h, "abc") + "," + getUrlParam(h, "type"));
</script>
</head>
<body>
</body>
</html>
更多追问追答
追问
这代码和我的区别在哪啊?求指点
追答
亲,对了么!对了就采纳,答案都在。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式