jquery正则表达式修剪url字符串的开头和结尾

时间:2012-06-06 22:27:43

标签: javascript jquery regex

我有href属性的链接,如下所示:

http://company.com/inetucm/groups/public/@enterprise/documents/pagecontent/s_014654.html

我想编写一个jquery函数,只将 s_014654 设置为一个变量,我稍后会用它来创建一个不同的url结构。

有人可以帮我解释一下这种语法。

2 个答案:

答案 0 :(得分:3)

var url = ....;
var arr = url.split('/');
var value = arr.pop().match(/^(.+)\.html$/)[1];
alert(value); // "s_014654"

Live DEMO


更新:(根据评论)

<a href="http://company.com/inetucm/groups/public/@enterprise/documents/pagecontent/s_014654.html" />
<a href="http://company.com/inetucm/groups/public/@enterprise/documents/pagecontent/AAAAAAAA.html" />
<a href="http://company.com/inetucm/groups/public/@enterprise/documents/pagecontent/BBB.html" />    
<a href="http://company.com/inetucm/groups/public/@enterprise/documents/pagecontent/fdskl489j.html" />

<强> jQuery的:

var arr = $('a').map(function(){ 
    return this.href.split('/').pop().match(/^(.+)\.html$/)[1]; 
}).get();

这将返回数组中的所有值。

Live DEMO

答案 1 :(得分:2)

这样的事情:

var url = "http://company.com/inetucm/groups/public/@enterprise/documents/pagecontent/s_014654.html";

var value = url.match(/([^/]+)\.html$/)[1];

感谢gdoron为我用我自己的正则表达式更新的小提琴:http://jsfiddle.net/Fjp8E/2/

模式([^/]+)\.html$查找一个或多个非斜杠字符,后面跟着字符串末尾的“.html”。