Проблема с проверкой электронной почты в Opera и Chrome - PullRequest
1 голос
/ 19 октября 2010

Я использую простую проверку электронной почты 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 голосов
/ 19 октября 2010

В этом тесте:

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

Что вы подразумеваете под проверкой строки кандидата в электронной почте против 0?Возможно, вы имели в виду:

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

?(В любом случае этот тест является избыточным, поскольку ваше регулярное выражение настаивает на непустых строках.)

...