正确的输入——过滤器模式

  


var  Filter =, Class.extend ({   控制:[],   男星:函数(_controls =, []) {   时间=this.controls  _controls;   },   addControl:函数(_control) {   this.controls.push (_control);   },   过滤器:函数(){   return  [];   }   });      var  EmailFilter =, Filter.extend ({   过滤器:函数(){   var  myreg =,/^ ([a-zA-Z0-9] + [_ | \ _ | \] ?) * (a-zA-Z0-9) + @ ([a-zA-Z0-9] + [_ | \ _ | \] ?) * (a-zA-Z0-9) + \ [a-zA-Z] {2,3} $/;   (var 小姐:this.controls拷贝){   var  txt =, . getelementbyid (this.controls[我].id) value;   如果(! myreg.test (txt))   {   console.log (this.controls[我].label  +,“不符合邮件格式”);   }   }   }   });      var  LengthFilter =, Filter.extend ({   过滤器:函数(){   (var 小姐:this.controls拷贝){   var  txt =, . getelementbyid (this.controls[我].id) value;   如果(& lt; txt.length  6) {   console.log (this.controls[我].label  +,“长度不能小于6”);   }   }   }   });      var  EmptyFilter =, Filter.extend ({   过滤器:函数(){   (var 小姐:this.controls拷贝){   var  txt =, . getelementbyid (this.controls[我].id) value;   如果(txt ==, " ") {   console.log (this.controls[我].label  +,“不能为空");   }   }   }   });   ,,,& lt; body>   ,,,,,,,& lt; form  id =,“form1”, action =,“#”, method =,“贴”在   ,,,,,,,& lt;/form>      & lt;/body>   & lt; script>   var  empty_filter email_filter length_filter;   (函数(){   var  name =, new 输入(“邮箱”,“用户名”、“用户名”、“文本”);   var  password =, new 输入(“密码”、“密码”、“密码”、“密码”);   var  submit =, new 按钮(“提交”、“子”、“子”,submitForm);   var  form ,=, new 形式(“form1”, []);   form.addControl(名称).addControl(密码).addControl(提交).build ();   时间=empty_filter  new  EmptyFilter ();   时间=length_filter  new  LengthFilter ();   时间=email_filter  new  EmailFilter ();   empty_filter.addControl(名称);   empty_filter.addControl(密码);   email_filter.addControl(名称);   length_filter.addControl(密码);      })();   function  submitForm () {   empty_filter.filter ();   email_filter.filter ();   length_filter.filter ();   }   & lt;/script>


  附件:http://down.51cto.com/data/2368476

正确的输入——过滤器模式