用正则提取中文
<script>
function count(v){
var cn=v.match(/[\u4E00-\uFA29]/g);
if(cn)cn=cn.join('').length;
else cn=0;document.getElementById('d').innerHTML='中文:'+cn+' 非中文:'+(v.length-cn);
}
</script>
<input type="text" onkeyup="count(this.value)"/>
<div id="d"></div>
<script>
function count(v){
var cn=v.match(/[\u4E00-\uFA29]/g);
if(cn)cn=cn.join('').length;
else cn=0;document.getElementById('d').innerHTML='中文:'+cn+' 非中文:'+(v.length-cn);
}
</script>
<input type="text" onkeyup="count(this.value)"/>
<div id="d"></div>
abc of 汉字
就是 4 ?
只能是纯英文 或者 纯汉字PS:abc of abc cbd eedr 字数为5
function count(v){
var cn=(v.match(/[a-z]+|[\u4E00-\uFA29]/ig)||[]).length;
document.getElementById('d').innerHTML=cn;
}
</script>
<input type="text" onkeyup="count(this.value)"/>
<div id="d"></div>
function count(v){
var n = 0;
if(/^[\u4E00-\uFA29]+$/.test(v)) n = v.length;
else if(/^[^\u4E00-\uFA29]+$/.test(v)) n = v.replace(/^ | $|\S/g, '').length + 1;
document.getElementById('view').innerHTML = n;
}
</script>
<input type="text" onkeyup="count(this.value)"/>
<div id="view"></div>