<input type=text onpaste="return false" onkeypress="b()">汉字<br>
<script language=javascript>
function b()
{
  var k = window.event.keyCode;
  if (k < 255 && k != 32){
     alert("你输入的不是汉字!");
     window.event.keyCode = 0 ;}
}</script>

解决方案 »

  1.   

    <input type=text onpaste="return false" onkeypress="b()">汉字<br>
    <script language=javascript>
    function b()
    {
      var k = window.event.keyCode;
      if (k < 255 && k != 32){
         alert("你输入的不是汉字!");
         window.event.keyCode = 0 ;}
    </script>支持~!
      

  2.   

    try 正则表达式:
    ^[\u4e00-\u9fa5](\s*[\u4e00-\u9fa5])*$
      

  3.   

    to saucer(思归, MS .NET MVP):我这样用,通不过,请指教:
    var reg=^[\u4e00-\u9fa5](\s*[\u4e00-\u9fa5])*$; 
    if(reg.test(str))
    {
     ...........
    }报语法错误。
      

  4.   

    var reg=/^[\u4e00-\u9fa5](\s*[\u4e00-\u9fa5])*$/;
      

  5.   

    /^[\u4e00-\u9fa5]+$/.test(val.replace(/\s/g,""))