正则表达式:2到8个中文字符4到16个英文字符数字下划线,可混合

求匹配 4到16个字节 的 中文,英文字母,数字,下划线 混合 的字符串的正则表达式.
(假设一个中文字符算两个字节,其它算一个字节)

何必这么执着呢,分开来嘛

先判断输入是否合法,即满足中文、英文、数字、字母或者下划线

再判断长度合不合法

Check = function(str)   
{  
var reg = /^[\u4e00-\u9fa5a-z\d_]{2,}$/gi;
if (reg.test(str))
{
     var len = str.replace(/[^\x00-\xff]/g,"aa").length;
     if (len < 4 || len > 16)
     {
     return false;
     }

     return true;
    }
    
    return false;
};

温馨提示:答案为网友推荐,仅供参考
相似回答