javascript:
function substr_count( haystack, needle, offset, length ) {
// Возвращает число вхождений подстроки
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
var pos = 0, cnt = 0;
if(isNaN(offset)) offset = 0;
if(isNaN(length)) length = 0;
offset--;
while( (offset = haystack.indexOf(needle, offset+1)) != -1 ){
if(length > 0 && (offset+needle.length) > length){
return false;
} else{
cnt++;
}
}
return cnt;
}
//Примеры:
alert (
substr_count('Kevin van Zonneveld', 'e') + ', '+
substr_count('Kevin van Zonneveld', 'K', 1) +', ' +
substr_count('Kevin van Zonneveld', 'Z', 0, 10) );