Вот две простейшие функции - верхняя боле-менее проверит емайл на валидность, а вторая не даст заполнить поле для сообщений пробелами и переводами строк.
Конечно, полной проверки на валидность адреса не происходит, но и нафиг она нужна - юзер может просто ввести несуществующий адрес, и никакая проверка не поможет.

Код:
function mail_check(str:String):Boolean {
str = trim(str);
if(str.length < 6)return false;
var a = str.indexOf('@');
var d = str.lastIndexOf('.');
return a>0 && a<d && d<(str.length - 2);
}
function trim(s:String):String{
if( s==undefined || s=="" ) return "" ;
var z:Number, i:Number;
for ( z = s.length-1; z > 0; z--) if ( s.charCodeAt(z) > 32) break;
for (i = 1; i < z; i++) if (s.charCodeAt(i) > 32) break;
return s.slice(i, z+1);
}
//-----------------------------------------------------------------
function checkMess( str ){
var t = trim(str);
trace( 'сообщение: "' + t + '"\t// ' + ( t != '' ) );
}
checkMess( "" );
checkMess( " " );
checkMess( "\n\n" );
checkMess( " это текст с пробелами по краям \n");
function checkMail( str ){
trace( 'адрес : "' + str + '"\t// ' + mail_check(str));
}
checkMail("usr@mail.com");
checkMail("usrmail.com");
checkMail("usr@mailcom");
checkMail("usr@mail.om");
checkMail("usr.@.mail.com");
checkMail("usr.mail@com");
checkMail("usr@mail.co.m");