一个字符串:
中文不超过20个字符(空格不算)
英文不超过40个字符(空格不算)。
谢谢...正则

解决方案 »

  1.   

    这个不就是判断字符串长度么。。
    用正则不太好判断吧。。把匹配的所有字符加起来算长度?不太会。。不过给一个算字符串长度的方法。
    function getLen(str){
        var len = str.length,znLen = 0;
        for(var i=0;i<len;i++){
            var code = str.charCodeAt(i);
            code > 255 && (znLen++);
        }
        return len + znLen;
    }
      

  2.   


    /[\u4e00-\u9fa5]{0,20}|[a-z]{0,40}/gi
      

  3.   

    貌似忘记去掉空格了。。function getLen(str){
        var len = str.length,znLen = 0,blank = 0;
        for(var i=0;i<len;i++){
            var code = str.charCodeAt(i);
            code == 32 && (blank -- );
            code > 255 && (znLen++);
        }
        return len + znLen + blank;
    }计算字符长度,中文算2个字符的代码。