大神帮我解答一下email验证问题吧!

我的这个js function验证email格式和传统的一样,但是现在发现程序要求并没有说email是not null, 所以怎么写js才能验证email:
1. email 为空时跳过
2. email不为空时验证格式。

比较苦恼,请各位大神解答怎么写这个循环,谢谢。基础代码贴在下面,
function validate_email(field,alerttxt){
with (field){
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2) {
alert(alerttxt);return false}
else{
return true}
}
}

你应该先验证你的field是否为空,然后再验证格式,这样就不会出现上述的问题了。
function validate_email(field,alerttxt){
boolean flag = false;
if(field!=null&&field!=""){
flag = true;
}else{
alert("邮箱不能为空!");
flag =false;
}
if(flag){
with(field){
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if(apos<!||dotpos-apos<2){
alert(alerttxt);return false;
}else{
return true}
}
}
}