Opera和Chrome中的电子邮件验证问题

时间:2010-10-19 13:24:27

标签: javascript validation email google-chrome opera

我使用简单的js电子邮件验证,如:

 function validation(email) {
     var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
     return reg.test(email);
 }


 function check(){
   if ($("#subemail").hasClass("bad")) {
       var subemail = $("#subemail").val();
       if((subemail!=0)&&validation(subemail)) {
          $("#subemail").css('background','transparent').css('color','#3b3b3b');
          $('.arrow').css('visibility','hidden');
       }
       else { 
          $("#subemail").css('background','url(img/red.png)').css('color','white');
          $('.arrow').css('visibility','visible');
       }
    }
 }

一切都适用于Firefox,但在Chrome或Opera中进行操作时,它总是返回false

1 个答案:

答案 0 :(得分:0)

在这个测试中:

if((subemail!=0)&&validation(subemail)) {

通过将电子邮件候选字符串对0检查是什么意思?你的意思是:

if ((subemail != '') && validation(subemail)) {

也许? (无论如何,测试是多余的,因为你的正则表达式坚持使用非空字符串。)