Jqueryで、指定した文字列のカウント($.jqSubstr count)

提供:wiki - PCスキルの小技・忘却防止メモ
移動: 案内, 検索

jqueryで、オブジェクトの値渡し($.jqSubstr_count)。PHPの「substr_count()」と同じような感じ。

ソース

現状だと「replace()」が一つしか対応してくれないので、それを利用する。

jqSubstr_count: function jqSubstr_count(str, needle) {
	/// <summary>
	/// 指定した文字列の含まれている個数
	/// </summary>
	
	var tmpStr = str;
	
	var i = 0;
	var cnt = 0;
	do {
		i = tmpStr.indexOf(needle);
		tmpStr = tmpStr.replace(needle, "");
		cnt++;
	}
	while (i != -1);
	
	return cnt;
}

別ファイルでするなら「function($) {$.extend(){}}」内にいれておく。

使い方

例えば、「a」の個数を調べる場合。

var str = "abcdefabcdefaaabcd";
var cnt= $.jqSubstr_count(str, "a");

関連項目