Программирование > JavaScript & JScript

Помогите пожалуйста (форма)

<< < (2/3) > >>

Blizzard:
Слухай, а как мне еще сделать проверочку на определение правильного ввода е-майла и ИНН (в ИНН должно быть 9-ть цыфр). ?

Макс:
Я e-mail так проверяю:

--- Код: ---
   var email = /^[a-z0-9\\._-]+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$/;
   var o = f.admin_email;
   if (o.value.length == 0) {
      alert("Вы не ввели E-Mail администратора");
      o.focus();
      return false;
   } else if (!email.test(o.value)) {
      alert("E-Mail администратора имеет неправильный формат");
      o.select();
      return false;
   }

--- Конец кода ---


ИНН наверное также только регексп будет таким:
inn = /^[0-9]{9}$/

Nickii:
Blizzard
Макс уже нарисовал тебе серверную часть.
Вот тебе клиентская.

Решение:
 Разобрать в цикле значение полученной строки по символу (при помощи функции charAt()), а дальше и так все ясно

Реализация:
 В код написанный выше надо добавить две функции

 // Проверка Инн
 function checkInn(str)
 {
   var ch, i, j,
       // массив разрешенных символов
       digit = new Array("0","1","2","3","4","5","6","7","8","9");

   /* Да будет тебе известно, что в ИНН организации 10 цифр, а в ИНН ЧП 12-цифр. Или ты не работаешь с ЧП?
    И вообще для задания длинны вводимого текста тег имеет специальное свойство */
   if(str.length != 10)
   {
     alert("В ИНН должно быть 10 цифр");
     return false;
   }

   // проходим посимвольно по всей строке
   for(i = 0; i < str.length; i ++)
   {
     // получаем из строки символ под номером i
     ch = str.charAt(i);

     var found = false;
     // Проверяем полученный символ на соответствие с разрешеными
     for(j = 0; j < digit.length; j ++)
       if(ch == digit[j]) found = true;

     // Если соответствия нет, значит человек ошибся
     if(!found)
     {
       alert("В ИНН должны быть только цифры, а не символы типа \'"+ch+"\'");
       return false;
     }
   }
 
  return true;
 }

 // Проверка EMail\'a
 function checkEMail(str)
 {
   /* Все аналогично предыдущей функции, за исключением того, что в EMail обязательно должен быть символ \'@\' и хотябы одна \'.\'*/
   var ch, i, j,
       // Флаг присутствия символа \'@\'
       isDog = false,
       // Флаг присутствия символа \'.\'
       isDot = false,
       // массив разрешенных символов
       email = new Array("q","w","e","r","t","y","u","i","o","p",
                         "a","s","d","f","g","h","j","k","l","z",
                         "x","c","v","b","n","m","1","2","3","4",
                         "5","6","7","8","9","0","_","@",".");

   for(i = 0; i < str.length; i ++)
   {
     ch = str.charAt(i);

     var found = false;
     for(j = 0; j < email.length; j ++)
       if(ch == email[j])
       {
         // Проверка на собаку
         if(ch == "@")
           if(isDog)
           {
             // Если это вторая собака, значит это не mail
             alert("EMail не верен.");
             return false;
           }
           else
             // Если это первая собака, установим соответствующий флаг
            isDog = true;

         // Если это точка, установим соответствующий флаг
         if(ch == ".")
           isDot = true;
           
         found = true;
       }

     if(!found)
     {
       alert("В EMail не допустимы символы \'"+ch+"\'");
       return false;
     }
   }
   
   // Если не было хотя бы одного из обязательных символов значит это не mail
   if(!isDog || !isDot)
   {  
     alert("EMail не верен.");
     return false;
   }
 
   return true;
 }

 // Далее в функцию function checkmail() надо добавить следующие строки

   if (txt1 == "")
   {
    alert("Введите e-mail");
    return false;
   }
   // Вот этот кусок добавлен
   else
    if(!checkEMail(txt1)) return false;
 
     
     if (txt6 == "")
     {  
       alert("Введите ИНН фирмы");
       return false;
     }
     // Вот этот кусок добавлен
     else
       if(!checkInn(txt6)) return false;

 /* Вот и все. Только не забудь сделать на сервере все соответствующие проверки, а мой mail можно увидеть посмотрев информацию о зарегестрированном пользователе Nickii*/

Макс:
Nickii
я привел клиентскую часть на javascript

Nickii:
Макс
Извини. Обознался. Торопился. Ну в общем лопухнулся... :)

Nickii

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии