2-7个汉字,或4-14个字符(数字、字母和"_")。
正则表达式该怎么结合起来?
求高手赐教。。
在线等

解决方案 »

  1.   

    ([\u4e00-\u9fa5]{2,7})|([0-9a-zA-Z_]{4,14})
      

  2.   

     /^([\u4e00-\u9fa5]{2,7})|([0-9a-zA-Z_]{4,14})$/就是不行
      

  3.   

     /^([\u4e00-\u9fa5]{2,7})|([0-9a-zA-Z_]{4,14})$/
      

  4.   

    ^([\u4e00-\u9fa5]{2,7}|[0-9a-zA-Z_]{4,14})$
      

  5.   

    (^[\u4e00-\u9fa5]{2,7}$)|(^([0-9a-zA-Z_]{4-14})$)这样就好了,上面写的不能排除 "啊啊啊as" 这样的
      

  6.   

    (^[\u4e00-\u9fa5]{2,7}$)|(^([0-9a-zA-Z_]{4,14})$)
    写错了...
      

  7.   


    改成这样 汉字是可以了 但是4-14个字符就不行了/^([\u4e00-\u9fa5]{2,7}$)|(^([0-9a-zA-Z_]{4-14}))+$/
      

  8.   

    (^[\u4e00-\u9fa5]{2,7}$)|(^([0-9a-zA-Z_]{4-14})$) 我这个写错了呢(^[\u4e00-\u9fa5]{2,7}$)|(^([0-9a-zA-Z_]{4,14})$)
    这样的,真不好意思
      

  9.   

    ^([\u4e00-\u9fa5]{2,7}|[0-9a-zA-Z_]{4,14})$
      

  10.   

    /^(([\u4e00-\u9fa5]{2,7})|([0-9a-zA-Z_]{4-14}))$/
    给分呀,呵呵
      

  11.   

    2-7个汉字,或4-14个字符(数字、字母和"_")。
    混写也可以检测.<!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>    <script type="text/javascript">
        function TestLength(){
            var s = document.getElementById("mm").value; // "输入的字符串 document.getElementById('inputid').value";
            var r1 = /[^_0-9a-zA-Z\u4e00-\u9fa5]/g;
            var r2 = /[\u4e00-\u9fa5]/g;
            var length = 0;
            if (r1.exec(s)) {
                alert("仅 汉字 数字 字母和 _");
                return false;
            } else {
                length = s.replace(r2,"**").length;   
                if(length >14 || length < 2){
                    alert("2-7个汉字,或4-14个字符(数字、字母和'_')。当前长度:" + length);
                    return false;
                } else {
                    alert("ok");
                    return true;
                }
            }
        }
        </script></head>
    <body>
        <input type="text" id="mm" />
        <input type="button" onclick="TestLength()" value=" test " />
    </body>
    </html>
      

  12.   

    汉字和字符是否可以混合出现,这个是关键,看你说了半天,也没见你说到这个点上如果是混合的,在之前写的一个正则例子的基础上改下源字符串:<input id="source" type="text" style="width:300px;">
    <br><br>
    <input type="submit" value="正则统计" onclick="regex()">
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" value="ASCII统计" onclick="ascii()">
    <br><br>
    统计结果:<input id="result" type="text" style="width:300px;">
    <br/><br/>
    <br/><br/>
    验证:任意汉字和字母组合在4到14字节间
    <br/><br/>
    <input id="byte" type="text" onblur="checkByte()" style="width:300px;">
    <br/><br/>
    <div id="anchorDIV"></div>
    <script type="text/javascript">
    document.close();
    document.open();
    function ascii()
    {
        var str = document.getElementById("source").value;
        document.getElementById("result").value = asciilen(str);
    }
    function regex()
    {
        var str = document.getElementById("source").value;
        document.getElementById("result").value = asciilen(str);
    }function asciilen(src)
    {
        var byteLen=0;
        var len=src.length;
        if(src)
        {
            for(var i=0; i<len; i++)
            {
                if(src.charCodeAt(i)>255)
                {
                    byteLen += 2;
                }
                else
                {
                    byteLen++;
                }
            }
            return byteLen;
        }
        else
        {
            return 0;
        }
    }function regexlen(src)
    {
        return src.replace(/[^\x00-\xFF]/g,'**').length;
    }function checkByte()
    {
        var str = document.getElementById("byte").value; 
        var len = regexlen(str);
        if(len < 4 || len > 14)
        {
    document.getElementById("anchorDIV").innerHTML="<font color='red'>输入字符不符合长度限制!</font>";
        }
        else
        {
            if(/^[\u4e00-\u9fa5a-zA-Z0-9_]{2,14}$/.test(str))
            {
                document.getElementById("anchorDIV").innerHTML="<font color='green'>符合要求!</font>";        }
            else
            {
                document.getElementById("anchorDIV").innerHTML="<font color='red'>输入字符不符合规则!</font>";
            }
        }
    }
    </script>