代码如下 正则表达式错误!!大哥们怎么改的啊???
function nm()
{
var a = document.getElementById("Names");
var b = /^\[a-z]|[A-Z]{4,12}$/;                //我判断的是输入的是一个4到12位的英文小写或大写
if(b.test(a))
{
alert("正确!")
}
else
{

alert("错误!")
}
}

解决方案 »

  1.   

    ^([a-z]|[A-Z]){4,12}$ 4到12是否要全小写还是全大写?
      

  2.   


      var regx = /^([a-z]|[A-Z]){4,12}$/g;
      var str = "abcd";
             alert(regx.test(str));
      

  3.   

    <html>
    <head>
    <title>JS Test</title>
    <script language="javascript">
     function ff(obj,pid){
        var value = obj.value;
        if(value.match(/^([a-z]|[A-Z]){4,12}$/))
    {
    alert("success");
    } else {
    alert("failed")
    }
        document.getElementById(pid).innerHTML = value;
     }
    </script
    </head>
    <body>
    <form>
    <div id="text"></div>
    <textarea id="findValue" onblur="ff(this, 'text');" ></textarea>
    </form>
    </body>
    <html>
      

  4.   

    function nm(){ 
    var a = document.getElementById("Names").value; 
    var b = /^[a-z]{4,12}$/i;
    if(b.test(a)) { 
    alert("正确!");
    } else { 
    alert("错误!")'

    }
      

  5.   


    function nm(){ 
        var a = document.getElementById("Names").value; 
        var b = /^[a-zA-Z]{4,12}$/;
        if(b.test(a)) { 
            alert("正确!");
        } else { 
            alert("错误!")'
        } 
    }5楼的方法也挺好!!!
      

  6.   

    /^[a-zA-Z]{4,12}$/测试:<!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> new document </title>
     </head>
     <body>
     <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^[a-zA-Z]{4,12}$/.test(this.value));" />
     </body>
    </html>
      

  7.   

    对,少了个value.你得加上得到的才是字符串.