javascript替换相对路径

时间:2012-02-15 00:16:58

标签: javascript jquery relative

我需要去除相对URL的目录级别,并用下划线替换斜杠。 其中一些相对URL包括一个或两个级别(../或../../)。现在我正在使用:

$('area, a').click(function() { 
      cleanPath = $(this).attr('href').replace(/'..'/g, "").replace(/\//g, "_") );
});

但这不起作用。这里发布了类似的问题但似乎没有解决我的具体问题。显然,我不是RegEx专家。 任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

你的正则表达式,/'..'/g查找撇号的所有匹配,然后紧跟任何字符后跟任何字符后跟另一个撇号。这是因为.匹配除换行符之外的任何字符(除非启用了多行模式)。

尝试:

/\.\./g

/[.]{2}/g

通过预先设置反斜杠,您的正则表达式会将.视为文字.(即句点)。

通过将.括在[.]中,正则表达式还会将.视为文字.{2}正好是2次出现,然后返回-back)。