我正在使用一系列if语句来使用以下内容在论坛上操作css:
if(location.href.match(/(showforum=3)/i) != null) {
$(document).ready(function(){
$("#topimg").addClass("announce");
});}
代码工作得很好,但是以3开头的每个其他showforum都会显示此图像,除非我对其进行编码。所以我的问题是如何使我的位置更精确,以便它只更改为3而不是3x?甚至可以使用这种编码吗?
答案 0 :(得分:1)
更改正则表达式,以便"值的边界"也被检查:
var pattern = /showforum=3(?=&|$)/i;
if (pattern.test(location.href)) {
...
}
请注意测试表达式中随附的更改:如果您只需要查明某些字符串是否与模式匹配,则应使用regexp.test(string)
语法,而不是string.match(regexp) !== null
。
答案 1 :(得分:0)
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
if( getParameterByName("showforum") == 3 ){
//........
}
参考