Javascript Md芯片电子邮件验证

Javascript Md芯片电子邮件验证,javascript,html,angularjs,Javascript,Html,Angularjs,Md芯片电子邮件验证 如何为md芯片创建电子邮件验证?我下面的表达式不起作用,因为每当我键入内容时,都会调用ng keypress指令 建议 <div class="row"> <div class="col-md-12" ng-cloak=""> <md-context class="md-padding"> <md-chips md-separator-keys="ctrl.customKeys" ng-keypres

Md芯片电子邮件验证


如何为md芯片创建电子邮件验证?我下面的表达式不起作用,因为每当我键入内容时,都会调用ng keypress指令

建议

 <div class="row">
   <div class="col-md-12" ng-cloak="">
     <md-context class="md-padding">
       <md-chips md-separator-keys="ctrl.customKeys" ng-keypress="ctrl.validateEmail()" ng-model="ctrl.ConfiguracaoRegra.Emails" md-max-chips="20" placeholder="Inserir um email..." ng-required="true" type="email"></md-chips>
       </md-context>
   </div>
 </div>

   vm.validateEmail = function (keyEvent) {
    var emailValue = angular.element(".md-input").val();
    var reg = /^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
    if (reg.test(emailValue)) {
        vm.isEmailValid = true;
    } else {
        vm.isEmailValid = false;
    }
};

vm.validateEmail=函数(keyEvent){
var emailValue=angular.element(“.md input”).val();
变量reg=/^[[U a-z0-9]+(\.[U a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
if(注册测试(emailValue)){
vm.isEmailValid=true;
}否则{
vm.isEmailValid=false;
}
};

您应该使用
ng change
指令而不是
ng按键
,或者在添加时同时使用
md
和在删除时同时使用
md
(请参见)

您应该使用
ng change
指令而不是
ng按键
,或者在添加时同时使用
md
和在删除时同时使用
md
(请参见)

我的解决方案是:创建一个javascript函数,在其中我评估是否输入了ENTER,并使用正则表达式('/^[\u a-z0-9]+([u a-z0-9]+)*@[a-z0(9)]+([a-z0-9-]+)*([Az]{2,4})$/),通过test()方法进行验证

功能验证邮件(x){
if(event.which==13){
var=x;
变量reg=/^[[U a-z0-9]+(\.[U a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
如果(!reg.test(emailValue)){
toastr.错误(“Digite um email válido!”);
vm.configura.Emails.pop();
}
};
};

我的解决方案是:创建一个javascript函数,在其中评估是否输入了ENTER,并使用正则表达式('/^[\u a-z0-9]+([u a-z0-9]+)*@[a-z0(9)]+([a-z0-9-]+)*([Az]{2,4})$/),通过test()方法进行验证

功能验证邮件(x){
if(event.which==13){
var=x;
变量reg=/^[[U a-z0-9]+(\.[U a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
如果(!reg.test(emailValue)){
toastr.错误(“Digite um email válido!”);
vm.configura.Emails.pop();
}
};
};

“每当我键入某个内容时,就会调用ng keypress指令”-您希望它什么时候被验证?@John每当我创建芯片时,我记不起md芯片是如何工作的,但当用户按enter键时,您不能验证吗?好的,我将更改我的表达式。这,每当用户按下enter键时,我都要验证“每当我键入某个内容时,就会调用ng keypress指令”-您希望它什么时候被验证?@John每当我创建芯片时,我记不起md芯片是如何工作的,但当用户按下enter键时,您不能验证吗?好的,我将更改我的表达式。这,我想在用户按下enter键时进行验证