Показать сообщение отдельно
Старый 21.10.2007, 09:53
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 4  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Вот две простейшие функции - верхняя боле-менее проверит емайл на валидность, а вторая не даст заполнить поле для сообщений пробелами и переводами строк.
Конечно, полной проверки на валидность адреса не происходит, но и нафиг она нужна - юзер может просто ввести несуществующий адрес, и никакая проверка не поможет.

Код:
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");


Последний раз редактировалось Kikasso; 21.10.2007 в 09:55.