<< | к задаче | главная | печатать | обсудить(0 сообщений) >>
Задача: Валидация, динамическая проверка заполнения html форм
Исходник: Простая валидация html формы: проверка на пустоту и правильность заполнения через шаблон регулярного выражения [javascript, code #161, hits: 11747, рейтинг: 3/7,4.9(3116)] +
автор: - [добавлен: 28.05.2006] управление:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content='text/html; charset=windows-1251'>
  6. <meta name="Generator" content='EditPlus 2.20.211'>
  7. <meta name="Author" content='Ciber SLasH'>
  8. <title>JavaScript :: Проверка форм (GET)</title>
  9. <script type='text/javascript'>
  10. /** Проверка форм
  11. @param1 Object — ссылка на элемент FORM;
  12. @param2 Array — массив проверяемых элементов. Пример: ['select', 'input']
  13. */
  14. function checkForm(obj, elems) {
  15. var element, pattern;
  16. for (var i = 0; i < obj.elements.length; i++) { // пробегаемся по всем элементам формы
  17. element = obj.elements[i];
  18. // Проверяем только нужные поля
  19. if (elems != undefined)
  20. if (elems.join().indexOf(element.type) < 0) continue;
  21. // И только если есть чего говорить юзеру в случае ошибки
  22. if (!element.getAttribute("check_message")) continue;
  23. if (pattern = element.getAttribute("check_pattern")) { // если задан рег
  24. pattern = new RegExp(pattern, "g");
  25. if (!pattern.test(element.value)) {
  26. alert(element.getAttribute("check_message"));
  27. element.focus();
  28. return false;
  29. }
  30. } else if(/^\s*$/.test(element.value)) { // иначе просто проверка что поле не пустое
  31. alert(element.getAttribute("check_message"));
  32. element.focus();
  33. return false;
  34. }
  35. }
  36. return true;
  37. }
  38. </script>
  39. </head>
  40. <body>
  41. <form method="GET" action='script.htm' onSubmit='return checkForm(this)'>
  42. <input type="text" name="dummy"> Не проверяется<br>
  43. <input type="text" name="name" check_message="Имя !!!"> Имя<br>
  44. <input type="text" name="e-mail" check_pattern="^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$" check_message="Мыло !!!"> e-mail<br>
  45. <textarea name="message" check_message="Мессага !!!"></textarea><br>
  46. <input type="submit" value="submit">
  47. </form>
  48. </html>

Как видно для проверки правильности заполнения задается непосредственно соответствующий шаблон регулярного выражения.
Если таковой не задан, но есть check_message - то проверка делается просто на пустоту.

Найдено на forum.vingrad.ru

+добавить реализацию
 
каталог | задачи | паттерны | исходники | стат | форумы | карта сайта | контакты | ссылки 
© 2000-2018 CodeLAB Group
  Все права защищены
Страница сгенерирована за 0.003002 секунд
Количество запросов к БД: 9, gzip: 4.2kb/16.3kb(75%)