注册ex解析window.location.pathname并返回/ s的数量

时间:2012-07-27 01:20:56

标签: javascript html css regex

我正在寻找一个可以解析window.location.pathname并返回其中/的数量的正则表达式模式(并且无法提出)。

我试图保留所有路径相对于我网站的主目录。

例如:index.html有一个带有src =“js / scripts.js”的脚本标记。但是,如果我访问/episode/10/index.html,这不起作用。路径js / scripts.js不再有效。所以我的方法是编写一个简单的javascript查找并替换并返回window.location.pathname中的/ s数。将该数字减1并将所有src更改为类似../../

任何人都知道一个快速简便的方法吗?

3 个答案:

答案 0 :(得分:3)

您可以使用我创建的此功能:

String.prototype.count = function(a) {
    return this.match(new RegExp(a, "g")).length;
};
alert("Hi/how/are/you".count("/"))​;  // Alerts 3

jsFiddle Example

只需将window.location.pathname附加到此功能:

window.location.pathname.count("/");

答案 1 :(得分:3)

如何分割'/'并计算生成的数组元素的数量?

var slashCount = window.location.pathname.split('/').length - 1;

我无法摆脱这种解决错误问题的感觉,但是......

答案 2 :(得分:0)

适当的方法是String.prototype.match

var slashCount = s.match(/\//g).length;