var str = "abbbbbsdsdsdasdlsfj"
var c = "b"// 要计算的字符
var regex = new RegExp(c, 'g')// 使用g表示整个字符串都要匹配
var result = str.match(regex)
var count = !result ? 0 : result.length
console.log(c + " 的数量为 " + count)
// 数字个数var numCnt = str.replace(/\D/g, '').length
// 大小写字母个数
var alphaNum = str.replace(/[^a-zA-Z]/g, '').length
// 空格个数
var spaceCnt = str.replace(/\S/g, '').length
有点复杂。1.先取出要比较的字符。2.然后再用这些字符和字符串对比。
var str = "abcdeajhdddbbbcccee"var obj = {}//存放要比较的字符(用键值对存储,如:{a:a,b:b})
//获取要比较的字符
for (var i = 0, len = str.length i < len i++) {
var s = str[i]
if (s == '') continue
if (obj[s]) continue//判断字符是否已经存在obj中
else obj[s] = s
}
var index = 0//字符出现最多个数
var x = ''//出现最多个数的字符
for (var item in obj) {
var arr = str.split(item)//用字符分割字符串
var num = arr.length - 1//字符出现的次数
if (num > index) {//和上一次结果比较
index = num
x = item
}
}
如果有更好的方法请贴出来,大家一起学习。