function NameLeng() {
            var re = /^[\u4e00-\u9fa5]+$/;
            var res = /^[a-zA-Z0-9_]{1,}$/;
            var username = document.getElementById("userName");
            if (re.test(document.getElementById('userName').value)) {
                alert("不能输入中文");
                return false;
            }if (!res.test(document.getElementById('userName').value)) {
                alert("非法输入用户名");
                return false;
            }

纠结了 可以输入中文 英文  数字  不能输入空格 "!@#"等这类的非法符号
请问用正则一句话怎么写出来 我上面写的只能输入英文 数字  不能输入中文

解决方案 »

  1.   

    /^[a-zA-Z0-9\u4e00-\u9fa5\_]+$/;
                
      

  2.   

              var re = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
    这样不行?
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        
    </head>
    <body>
        <input type='text' id='userName' onblur='NameLeng()' />
        <script>        function NameLeng() {
                var res = /^[\u4e00-\u9fa5a-zA-Z0-9_]+$/;
              if (!res.test(document.getElementById('userName').value)) {
                  alert("非法输入用户名");
                  document.getElementById('userName').value = '';
                    return false;
                }
            }    </script>
    </body>
    </html>