Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Универсальная проверка ввода текстовых полей

Поиск:
Пишем универсальный валидатор текстовых полей:
Код
<script type="text/javascript">
/**
* Обрабатывет все элементы после загрузки
*/
function initFormCheck() {
 var inps=document.getElementsByTagName("INPUT");
 for(var i=0; i<inps.length; i++) {
   if(inps[i].getAttribute("testreg")==null) continue;
   else inps[i].onkeyup=inputTextCheck;
   inputTextCheck(inps[i]);
 }
}
/**
* Проверка. Реги и прочую инфу берём из аттрибутов тега.
*/
function inputTextCheck(obj) {
 var o=(obj&&obj.tagName)? obj: this;
 var reg=new RegExp("^"+o.getAttribute("testreg")+"$");
 if(reg.test(o.value)) {
   o.className=o.getAttribute("passclass");
   return true;
 } else {
   o.className=o.getAttribute("failclass");
   return false;
 }
}
</script>

<body onload="initFormCheck();">
<!-- пример: допускаем только цифры 0-9 -->
<input type="text" id="str1" name="text1" testreg="[0-9]+" failclass="fout" passclass="pass">
<!-- допускаем что угодно -->
<input type="text" id="str2" name="text2" testreg=".+" failclass="fout" passclass="pass">
<!-- не обрабатываем поле -->
<input type="text" id="str5" name="text5">
<!-- как видно  для обработки требудется три параметра: рег, имя стиля при правильной проверке и имя стиля при ошибке -->
</body>

Стили можно задать какие угодно, по задаче это:
Код
<style type="text/css">
.pass {
 border: 1px solid black;
}
.fout {
 border: 1px solid red;
}
</style>
Автор: Sardar
Сайт: http://






Просмотров: 3553

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную