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

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

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值