Esiste una cosa chiamata regex (regular expressions) che è davvero molto,molto bella
Scriverti per filo e per segno di cosa si tratta sarebbe un po' troppo lungo, ma se cerchi su google troverai guide complete sull'argomento e scoprirai che ti si aprirà un mondo davanti 
Ho da poco scoperto (in verità, ho guardato su google dopo aver letto la tua domanda) che esistono anche in javascript 
Eccoti un breve esempio appena scritto, con le mie neo apprese conoscenze delle regex in javascript :
<script>
function check (address) {
var a = /^[a-z0-9_]{1,}\@[a-z0-9\.]{1,}\.[a-z]{2,4}$/;
var x = a.exec (address);
if (x==null) {
document.write ("Email sbagliata!");
}
else {
document.write ("Email accettata ;)");
}
}
</script>
<!--
(fai attenzione, visto che non ho la possibilità di scrivere indirizzi email, l' alla riga successiva va inteso come @)
-->
<input type = 'button' onClick='check("address11host.com");' value='Prova'>
Questo codice, molto semplice una volta che avrai imparato a usare le regex, stampa un messaggio "positivo" se l'indirizzo email ha la seguente struttura:
(fai attenzione, visto che non ho la possibilità di scrivere indirizzi email, l' alla riga successiva va inteso come @)
xxxxxyyyy.zzz
Dove xxxxx è una stringa di 1 o + caratteri, contenente lettere dalla a alla z (minuscole), numeri e l'underscore (_); yyyy è una stringa (di almeno 1 carattere) formata da lettere minuscole, punti (.) e numeri, e zzz una stringa lunga da 2 a 4 lettere minuscole.
La regex che ho scritto è molto semplice e probabilmente taglierà fuori alcuni casi speciali.. In giro per internet potrai certamente trovare regex più restrittive, oppure, una volta imparate, puoi scrivere la tua "ad hoc" 