原生JS实现Textarea汉字字数判断
<tr>
                    <td>自我评价:</td>
                    <td><textarea rows="10" cols="40" name="desc"></textarea></td>
                </tr>
        var ChuiNiuBi = document.getElementsByName("desc");
        if (ChuiNiuBi.value.length>2000||ChuiNiuBi.value.length<100||ChuiNiuBi.value==="") {
            alert("自我评价不能为空,大于50个字,小于1000个字。");
            return false;
        }
        return false
求大神指教

5个回答

function Judge(){
var ChuiNiuBi = document.getElementsByName("desc");
var count = 0;
for(var i =0;i <= ChuiNiuBi.value.length;i++){
if(/.*[\u4e00-\u9fa5]+.*/.test(ChuiNiuBi.value[i])){
count+=1
}
}
if( count < 50){
console.log("汉字小于50")
}else if( 1000<count ){
console.log("汉字大于1000")
}else{
console.log("发布通过")
}
}

weixin_43365995
星河世界 补充最简单的方法遍历可以去除中间的符号等获得准确的汉子数量
大约一年之前 回复

var ChuiNiuBi = document.getElementsByName("desc")[0];

1.ChuiNiuBi指向有问题;2.你是判断输入是否为汉字呢还是单纯判断输入的长度呢?3.如果判断汉字的话,可以用这个方法

 function funcChina()
     {
      var obj = document.form1.txtName.value;
       if (/.*[/u4e00-/u9fa5]+.*$/.test(obj))
       {
       alert( "不能含有汉字!" );
        return false ;
       } else {
        return true ;
       }
}
;4.如果是判断长度的话,你这种好像也不对的吧
var getText= function(){ var desc = document.getElementById("desc").value; console.log(desc.length); $("#result").val(desc.length); }




计数

可以直接判断textarea输的值长度判断可以汉字的字数。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问