Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算特殊字符2次,其他字符1次_Javascript - Fatal编程技术网

Javascript 计算特殊字符2次,其他字符1次

Javascript 计算特殊字符2次,其他字符1次,javascript,Javascript,我想在textarea上放置一个计数器,对特殊字符进行两次计数,其他字符在击键后进行一次计数 这是我到目前为止所做的代码: 函数计数(obj){ var count=obj.value.length; document.getElementById('count1')。innerHTML=count; } 计算 0 您需要用非特殊字符数计算特殊字符数 大概是这样的: 函数计数(obj){ //匹配非A-Z或0-9的字符 var countSpecial=(对象值匹配(/[^a-zA-Z0

我想在textarea上放置一个计数器,对特殊字符进行两次计数,其他字符在击键后进行一次计数

这是我到目前为止所做的代码:

函数计数(obj){
var count=obj.value.length;
document.getElementById('count1')。innerHTML=count;
}

计算
0



您需要用非特殊字符数计算特殊字符数

大概是这样的:

函数计数(obj){
//匹配非A-Z或0-9的字符
var countSpecial=(对象值匹配(/[^a-zA-Z0-9]/g)| |[])。长度*2;
//匹配A-Z或0-9的字符(因为^symbol)
变量计数=(对象值匹配(/[a-zA-Z0-9]/g)| |[])长度;
document.getElementById('count1')。innerHTML=count+countSpecial;
}

计算
0



或者,你可以简单地数一数字母数字,然后从总数中减去——它从来没有真正规定你需要实际的字符串,只需要数一数

document.querySelector(“countthis”).addEventListener(“keyup”,countup);
函数计数(evt){
var obj=evt.target;
变量文本=对象值;
var alphaNumeric=text.replace(/[\W\u]+/gmi,”);
var specialCount=text.length-字母数字.length;
变量计数=字母数字.length;
//console.log(文本+”,“+字母数字);
document.querySelector('.alphanumeric count.counter')。innerHTML=count;
document.querySelector('.non-alphanumeric count.counter')。innerHTML=specialCount;
}

计算
字母数字:0
特别:0

那么,“特殊字符”的问题是什么?你是说非字母数字?计数器应该在每次击键后添加特殊字符2次,alpahnumeric 1次。是@Snowmonkey。为什么标记为C?我不知道这是否是有效的,因为我对正则表达式的了解非常少