【问题标题】:Equivalent Javascript substr_count?等效的Javascript substr_count?
【发布时间】:2011-05-01 09:35:05
【问题描述】:

我正在尝试为 Javascript 找到等效的函数。我想要做的是寻找当前的 URL,如果它有以下 URL 的第一部分然后做一些事情。

在 PHP 中我有这个

if (substr_count($current_url, $root . $_SERVER['SERVER_NAME'] . '/shop/shop-gallery') {
 doSomething();
}

只要它与该 URL 和所有子 URL(如 /shop/shop-gallery/product1..etc)匹配,该语句就会为真。

现在如何在 javascript 中执行完全相同的语句?

谢谢大家!

【问题讨论】:

    标签: javascript string phpjs


    【解决方案1】:

    JavaScript中的substr_count也可以如下实现:

    var substr_count = hay_stack_string.split('search_substring').length - 1;
    

    【讨论】:

      【解决方案2】:

      您实际上是要计算子字符串还是只看它是否存在?如果是第一个,那么使用 Frosty Z 的答案,如果是后者,你不应该首先在 PHP 中使用substr_count,而是使用strpos(它可能更快)。

      后者的JS版本是String方法indexOf

      if (stringToSearch.indexOf(current_url) > -1)  {
         doSomething();
      }
      

      https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/indexOf

      【讨论】:

      • Err... 也许是 strpos 而不是 substr ?无论如何,我认为您的回答更合适,因为 Rick 想检查 URL 是否“以”某些东西开头。
      • @Frosty 哎呀,想一件事,写另一件事。谢谢。
      • @Rick:是的,这就是为什么strpossubstr_count 更合适,因为您实际上并不想计数。 (substr 是一个错字)
      • 谢谢你到目前为止的回答,但我写了 if(current_url.indexOf("shop-gallery") { doSomething(); } 这总是正确的......
      【解决方案3】:

      请查看http://locutus.io/php/substr_count/ 以获取等效项。

      【讨论】:

        猜你喜欢
        • 2016-05-10
        • 1970-01-01
        • 2021-11-26
        • 2012-08-19
        • 2023-03-21
        • 1970-01-01
        • 1970-01-01
        • 2010-11-29
        • 2015-08-28
        相关资源
        最近更新 更多