作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,所以我正在使用一些正则表达式——这是我第一次,请轻点——我遇到了一个问题,我可以用它设置一个变量,但是如果我尝试用它做任何事情该变量会导致问题。
这是我的脚本:
$(document).ready(function () {
var show_number;
var url_param;
$("a[rel=more]").live("click", function(){
url_param = $(this).attr("href").match(/show:[^/]+/i);
show_number = url_param.substr(5);
alert(show_number);
return false;
});
});
现在,它不会按照应有的方式显示警报,而只是跟随链接。但是,如果我去掉“show_number”变量并将其设置为提醒“url_param”,一切都会好起来的。
我基本上需要获取正则表达式前五个字符之后的内容。我尝试直接向其中添加 substr() 函数,但这似乎没有帮助。
我做错了什么?
最佳答案
match()
返回一个数组,而不是一个字符串,所以至少你需要这样的东西:
url_param = $(this).attr("href").match(/show:[^/]+/i);
if (url_param && url_param.length > 0) {
show_number = url_param[0].substr(5);
alert(show_number);
}
在“显示:”之后获取 URL 部分的一种更简洁的方法是使用括号来捕获 URL 的那部分,这部分将在 url_param[1]
中结束:
url_param = $(this).attr("href").match(/show:([^/]+)/i);
if (url_param && url_param.length > 0) {
show_number = url_param[1];
alert(show_number);
}
关于javascript - 我的正则表达式搞砸了我其余的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1030093/
我是一名优秀的程序员,十分优秀!