Jquery值匹配正则表达式

我试图通过JQueryvalidation电子邮件的输入:

我的JQuery

 /*  */  

即使我输入了example@example.com,也不会发出警报。 我已经尝试过.test()和.match(),我做错了什么?

  • 将字符串传递给RegExp或使用//语法创建正则表达式
  • 调用regex.test(string) ,而不是string.test(regex)

所以

 jQuery(function () { $(".mail").keyup(function () { var VAL = this.value; var email = new RegExp('^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[AZ]{2,4}$'); if (email.test(VAL)) { alert('Great, you entered an E-Mail-address'); } }); }); 

把它改成这个:

 var email = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[AZ]{2,4}$/i; 

这是一个传递i标志的正则表达式文字,表示不区分大小写。

请记住,电子邮件地址validation很难 (在掌握正则表达式结尾处有4或5页的正则表达式certificate这一点)并且您的表达式肯定不会捕获所有有效的电子邮件地址。