比如输入'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}个`)