if (/[^\x00-\xff]/g.test(s)) alert("含有汉字");
else alert("全是字符");

解决方案 »

  1.   

    <input type="text" name ="dd" value=中文Abc!>
    <input type="submit" onclick=checkString(dd.value)>
    </form>
    <script >
    <!-- 输入串中是否有非法字符-->function checkString(str)
    {
        var reg = /^(\w|[\u4E00-\u9FA5])*$/;
        if(arr=str.match(reg))
        {
           return true;
        }
        else
        {
          alert("输入串中包含有非法字符");
           return false;
        }
    }
    </script>
      

  2.   

    4.只能输入汉字的:
    <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
      

  3.   

    wjmmml(笑着悲伤)
    你用过你贴的一系列方法么?
    试试看先输“悲伤”,再输“笑着”看看所以一直不推荐这种赋值而推荐验证方法
    (见贴了好多次,忍了很久才说这些话,勿怪)