JS统计出一个字符串里数字,英文字母,空格和其他字符的个数。

比如输入'123abc @##', 输出:数字3个,字母3个,空格一个,其他字符3个。(可以在电脑上面实现) 分析:正则验证 exec,必须加g。如果反复调用

比如输入'123abc @##',

输出:数字3个,字母3个,空格一个,其他字符3个。(可以在电脑上面实现)

 

分析:正则验证

exec,必须加g。如果反复调用exec(),它会自动去找下一个敏感词。直到找不到敏感词了,返回null

返回值: 和match不加g的情况是一样的

           a.如果找到敏感词,返回一个数组: 数组: [0:敏感词内容, index: 敏感词下标位置 ] 

           b.如果没找到,返回null        

var str = "123abc  @##";
// var arr = arr2 = arr3 = [];
var arr = [];
var reg = /\d/g;
var reg2 = /[a-zA-Z]/g;
var reg3 = /\s/g;
function check(x, y) {var z = 0;do {var x = y.exec(str)if (x != null) {z++;}} while (x != null)return z;
}
var num = check(arr, reg);
console.log(`数字${num}个`)
var a = check(arr, reg2);
console.log(`字母${a}个`);
var b = check(arr, reg3)
console.log(`空格${b}个`);
console.log(`其他字符${str.length - a - num - b}个`)