Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Проверка e-mail - адреса


Автор: Guest 29.1.2005, 13:21
У меня форма проверяет правильность ввода e-mail java таким путем:
Код

function checkEmail( obj ) {

re = /\s/gi;
check = obj.value.replace( re, "" );

poprawnyEmail = /^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9_\.-]+([\.][a-z]{2,4}))+$/i;

if ( check.search( poprawnyEmail ) == -1 ) {
 sAllWarnings += cfLangMail +'\n';
 if( obj.type != 'hidden' ){
   obj.style.borderColor = 'red';
     if( bIsWarnings == false )
       oFirstWrong = obj;
 }
 bIsWarnings = true;
 return false;
}
else if( obj.type != 'hidden' )
  obj.style.borderColor = cfBorderColor;
return true;

}

но при этотм если пользователь не вел e-mail тоже ошибка, как сделать что бы пользователь мог вводить мог не вводить e-mail, если ввел тогда проверка?

Автор: sergejzr 29.1.2005, 15:25
Добавьте вторую строчку:
Код
function checkEmail( obj ) {
if(obj.value.length==0) return true; //Если длинна текста =0, позволяем отправить форму
   re = /\s/gi;
   check = obj.value.replace( re, "" );

   poprawnyEmail = /^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9_\.-]+([\.][a-z]{2,4}))+$/i;
   
   if ( check.search( poprawnyEmail ) == -1 ) {
 sAllWarnings += cfLangMail +'\n';
 if( obj.type != 'hidden' ){
   obj.style.borderColor = 'red';
     if( bIsWarnings == false )
       oFirstWrong = obj;
 }
 bIsWarnings = true;
 return false;
   }
   else if( obj.type != 'hidden' )
   obj.style.borderColor = cfBorderColor;
return true;

}

Автор: Aliance 29.1.2005, 15:45
IMHO, в новички.
Читай: http://forum.vingrad.ru/index.php?showtopic=36336

Автор: Sardar 29.1.2005, 17:23
Вот эту строчку: check.search( poprawnyEmail ) == -1
Лучше заменить на: poprawnyEmail.test(check)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)