等效的Javascript substr_count?

Posted

技术标签:

【中文标题】等效的Javascript substr_count?【英文标题】:Equivalent 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 中执行完全相同的语句?

谢谢大家!

【问题讨论】:

【参考方案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/ 以获取等效项。

【讨论】:

以上是关于等效的Javascript substr_count?的主要内容,如果未能解决你的问题,请参考以下文章

NSTimer 等效于 Javascript

等效于 Javascript 中的 python 范围 [重复]

jQuery 等效于 JavaScript 的 addEventListener 方法

Javascript中的ENV变量等效

Javascript 等效于 Python 的 zip 函数

Javascript中的令牌生成熵等效[重复]