E' strano, ho questo codice ce non mi valida la reg

codice:
var reg = new RegExp("^([-_.#$&a-z0-9]+)[@][a-z]+(\\.[-_#$&a-z0-9]{2,})*(\\.[a-z]{2,4})$");
if(f.suoemail.value == "" && !f.suoemail.value.match(reg)){ 
f.suoemail.style.backgroundColor='#e2e2e2'
alert("Inserire un' Email valida");
f.suoemail.focus();
return false;
}
Ho la stessa reg in php e quella viene validata, che errore c'è?