Mi pare che manchi una chiusaparentesi in questa riga:
} else if(!ema1.match(/^.{2,}\@.{2,}(\..{2,})+?$/)) {
Comunque la regexp io la farei un po' diversa:
cioe` che l'inizio di ogni pezzo siano caratteri alfanumerici, non caratteri qualsiasi.codice:/^\w.+\@\w.+(\.\w.+)+?$/