等效的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:是的,这就是为什么strpos
比substr_count
更合适,因为您实际上并不想计数。 (substr
是一个错字)
谢谢你到目前为止的回答,但我写了 if(current_url.indexOf("shop-gallery") doSomething(); 这总是正确的......【参考方案3】:
请查看http://locutus.io/php/substr_count/ 以获取等效项。
【讨论】:
以上是关于等效的Javascript substr_count?的主要内容,如果未能解决你的问题,请参考以下文章
等效于 Javascript 中的 python 范围 [重复]
jQuery 等效于 JavaScript 的 addEventListener 方法