credo che io sbagli nel test

var reg = new RegExp(/([a-z\-_0-9]+\.{1}|[a-z\-_0-9]+)*/);//solo lettere e -
newcname = reg.test (cname);
if(newcname == true)
{return true;}
else
{return false;}

anche inserendo solo @ mi dice true!
La tua è corretta ma non controlla il singolo . giusto?