Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2015, 16:10
Интересующийся
Отправить личное сообщение для NO_ONE Посмотреть профиль Найти все сообщения от NO_ONE
 
Регистрация: 01.03.2014
Сообщений: 19

Проверка input.value
Привет. Хочу создать простенький черный список email-адресов, чтобы value в форме проверялось на содержание запрещенных доменов из массива. Написал такой скрипт:

<!DOCTYPE HTML>
<html lang="ru">
  <head>
    <meta charset="utf-8">
    <title>Hi!</title>
  </head>
  <body>
      <script>
        function checker() {
          var emailValue = document.getElementById("email").value;
          var blackList = [ "@yandex.ru", "@mail.ru", "@test.ru"]; // для примера запрещаем любые адреса, оканчивающиеся на @yandex.ru, @mail.ru и @test.ru
          for(var i=0; i<blackList.length; i++) {
            if(emailValue.indexOf(blackList[i]) != -1) {
              alert("Нельзя использовать этот ящик.");
              return false;
            }
            else {
              return true;
            }
          }
        }
      </script>
    <form action="" onsubmit="return checker();">
      <input type="text" name="email" id="email" />
      <button type="submit">Ok</button>
    </form>
  </body>
</html>


Однако я в нем явно делаю что-то неправильно, потому что работает он только для первого значения из массива. Поправьте, пожалуйста, чтобы работало для всех.
Благодарю за ответы.
Ответить с цитированием
  #2 (permalink)  
Старый 19.03.2015, 16:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

NO_ONE,
<!DOCTYPE HTML>
<html lang="ru">
  <head>
    <meta charset="utf-8">
    <title>Hi!</title>
  </head>
  <body>
      <script>
        function checker() {
          var emailValue = document.getElementById("email").value;
          var blackList = [ "@yandex.ru", "@mail.ru", "@test.ru"]; // для примера запрещаем любые адреса, оканчивающиеся на @yandex.ru, @mail.ru и @test.ru
          var ok = true;
          for(var i=0; i<blackList.length; i++)
          if(emailValue.indexOf(blackList[i]) != -1) ok = false ;
          !ok && alert("Нельзя использовать этот ящик.");
          return ok
        }
      </script>
    <form action="" onsubmit="return checker();">
      <input type="text" name="email" id="email" />
      <button type="submit">Ok</button>
    </form>
  </body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Проверка встроенной поддержки типа с помощью библиотеки Modernizr viy.li Библиотеки/Тулкиты/Фреймворки 3 15.06.2013 15:48
Проверка сайта AndreyS AJAX и COMET 5 28.07.2011 20:45
Проверка данных формы составным условием? myafa Элементы интерфейса 8 01.04.2011 08:30
Выпадающий калькулятор, помогите... Silentz Общие вопросы Javascript 2 23.01.2010 10:39