我使用简单的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
答案 0 :(得分:0)
在这个测试中:
if((subemail!=0)&&validation(subemail)) {
通过将电子邮件候选字符串对0检查是什么意思?你的意思是:
if ((subemail != '') && validation(subemail)) {
也许? (无论如何,测试是多余的,因为你的正则表达式坚持使用非空字符串。)