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:
codice:
/^\w.+\@\w.+(\.\w.+)+?$/
cioe` che l'inizio di ogni pezzo siano caratteri alfanumerici, non caratteri qualsiasi.