验证规则为: 
可以包含汉字,数字和英文大小写字母,长度在1-30位之间 
顺便问下,汉字是不是占2位?
1.汉字是一位 不过其实空间占两位
var a=/[^\x00-\xff]+[1-9a-zA-Z]+/g;
长度 可以直接限制

解决方案 »

  1.   

    String.prototype.realLength = function()
    {
        return this.replace(/[^\x00-\xff]/g,"**").length;
    }
    长度这样检查
      

  2.   

    <script> 
    function check(oVal) { 
    var reg = /^([\u4e00-\u9fa5]|[0-9a-zA-Z]){1,30}$/
    alert(reg.test(oVal))} 
    </script> 
    <INPUT TYPE="text"  onblur='check(this.value)'>
      

  3.   

    不能用一个正则表达式既检查是否为汉字,英文字母,数字,同时检查长度吗?搞一个判断不知道具体怎么应用,比如:
    function check(str){
       var reg==/[^\x00-\xff]+[1-9a-zA-Z]+{1-30}$/g
       if(reg.test(str)==true)
            return true;
            else{
                    return false;
                }
    }
    正则表达式我不懂啊