正则捕获url的?号传值
http://www.baidu.com/Q?k=0012719021908563998510650
有时候,我们需要在静态页面捕获?号传值,这时就需要用到js的正则表达式。
例如:我们要获取上面这个url的k的值
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i"); var r = window.location.search.substr(1).match(reg); var q = window.location.pathname.substr(1).match(reg_rewrite); if (r != null) { // alert(unescape(r[2])); return unescape(r[2]); } else if (q != null) { // alert(unescape(q[2])); return unescape(q[2]); } else { // alert('正则未捕获'); return null; } }
使用方法:
getQueryString("k")