我有一个输入框 <input type="text" id="aa" name="aa" size="20"/>我想实现我输入的东西必须是 ABCDE 或BCEDA、ADBCE 、bceda等等,就是想必须是这5个字母,大小写不分,顺序不同的这个怎么用js判断,要是用正则的怎么写?谁会能帮我看看吗,谢谢了!

解决方案 »

  1.   

    <html>
    <body>
    <script>
       var reg = /[abcde]{5}/;
       var k=reg.test("abfde");
       alert(k)
      
    </script>
    </body>
    </html>
      

  2.   

    字母是否可以重复  可以重复的话就好判断了  遍历字符串判断每个字符是否是abcde中的一个
    不可以重复的话  列出abcde的不同排列组合  组成数组  判断value是否是这个数组中的一个  
      

  3.   

    不好意思: 
    var reg = /[abcde]{5}/i;
     var k=reg.test("abced");
      

  4.   


    <input type="text" id="aa" name="aa" size="20" onblur="aa(this.value)"/>
    <script>
    String.prototype.check=function(){
      if(this.length<5){return '别懒,接着写吧~~'};
      if(this.length>5){return '太勤快了,超长啦~~'};
      var re=/[A-Ea-e]{5}/gi;
      if(!re.test(this)){ return '内容不符合格式要求(必须是abcde或ABCDE字母的任意组合)'};
      //--------------检查重复字母
      var o=[],r=[];
      for(var i=0;i<this.length;i++){
        if(o[this.charAt(i)]){r.push(this.charAt(i))}
        o[this.charAt(i)]=true;
      }
      return r.length>0? "重复的字母:"+r:"";
    }
    function aa(s){
      var d=s.check();
      if(d.length>0)  alert(d)
    }
    </script>
      

  5.   

    <script>
    function aa(s){
    (s.match(/^[abcde]{5}$/i)&&(s.match(/a/ig).length===1)&&(s.match(/b/ig).length===1)&&(s.match(/a/ig).length===1)&&(s.match(/d/ig).length===1)&&(s.match(/e/ig).length===1))?alert("Ok"):alert("格式不对")
    }
    </script>
    <input type="text" id="aa" name="aa" size="20" onblur="aa(this.value)"/>