今天做一验证表单的时候,姓名框应该只能输入汉字,想了好久不止如何下手,请高手提点一下。谢谢

解决方案 »

  1.   

    在js中 判断  isNaN()
    例:
    if(!isNaN(name)){
       alert('请输入汉字');
    }
      

  2.   

    var rule = "/[\x80-\xFF]/";
    rule.test(username)为true就是有汉字
      

  3.   


    var str=document.getElementById("name").value; 
    var reg = /^[\u4e00-\u9fa5]+$/i; 
    if (!reg.test(str)) 
    {
    alert("请输入中文名字!"); 
    document.form1.name.focus(); 
    return false; 
    }
    return true;
      

  4.   

    这种也行:<script>
    var s = "ad啊";
    for(var k = 0; k < s.length; k++){
    if((s.charCodeAt(k) < 0) || (s.charCodeAt(k) > 255)){
    alert("出现了汉字");
    }
    }
    </script> 
      

  5.   

    var str = "ssdfsdf是"; 
    var reg = /^[\u4e00-\u9fa5]+$/i;
    var l = str.length;
    var i = 0;
    var s = "";
    while(s = str.substring(i, l)){
    if(reg.test(s)){
    alert("出现了汉字");
    }
    i++;
    }
      

  6.   

    请教一下二楼,就是我这样写:
    var a = 111;
    var b = "adf";
    var c = "你好";
    var rule = /[\x80-\xFF]/; if((rule.test(c)) == false){
    alert("输入汉字");
    }
    else{
    alert(c);
    }
    为什么始终提示“输入汉字”呢
      

  7.   

    经测试,三楼的这个正则
    /^[\u4e00-\u9fa5]+$/i;
    好用。
    可能是我没把要求说清楚,输入的只能是汉字。1楼和2楼的正则不全行。
    好了,问题解决了,谢谢大家。结贴给分。