js如判断input框text域的 汉字、数字、特殊字符、空格、回车的个数的方法?!!!!

解决方案 »

  1.   

    主要就是想判断一个input的text域中内容个数,包含汉字、数字、特殊字符、空格、回车。
      

  2.   

    document.getElementsByTagName("input")[0].value.length
    貌似回车符没法计算
      

  3.   

    说白了就是字符串中的字符统计呗。
    汉字、数字、特殊字符、空格、回车
    这些在unicode码中都是单一字符表示的,所以,用String的charCodeAt()来判断,从0到字符串的length,依次获取charCode,根据范围统计就可以。至于汉字、数字、特殊字符、空格、回车各自对应的unicode码,可以搜索一下吧,网上有对应的范围。
      

  4.   

    可以用charAt()来判断~~~~~~~~
    而且可以做到比较的准确。
      

  5.   


    <textarea id="textarea" rows="9" cols="89">
    以544上
    要 g bv
    发 (* &* 5
    </textarea><br />
    <input type="button" value="   ok   " onclick="aaa()" />
    <script type="text/javascript">
    function aaa()
    {
    var text = document.getElementById("textarea").value;
    var ss = "汉字 "+ text.replace(/[^\u4e00-\u9fff]/ig,"").length +" 个。\n";
    ss += "英文 "+ text.replace(/[^a-z]/ig,"").length +" 个。\n";
    ss += "数字 "+ text.replace(/\D/ig,"").length +" 个。\n";
    ss += "空格 "+ text.replace(/[^ ]/ig,"").length +" 个。\n";
    ss += "回车 "+ text.replace(/[^\n]/ig,"").length +" 个。\n";
    ss += "特殊字符 "+ text.replace(/[\u4e00-\u9fffa-z\d\s\n\r]/ig,"").length +" 个。\n";
    alert(ss);}
    </script>