Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: фильтр ввода javascript
 
 автор: heoh   (24.01.2005 в 20:55)   письмо автору
 
 

есть текcтовое поле в форме,
подскажите как сделать проверку введеного текста по шаблону типа dd/mm/yyyy или фильтрацию на ввод данных по такому же шаблону, причем посредством javascript

если это реально коннечно...
заранее благодарен за помощь!!

   
 
 автор: glsv (Дизайнер)   (25.01.2005 в 00:12)   письмо автору
 
   для: heoh   (24.01.2005 в 20:55)
 

Давайте начнем с небольшого. Этот код разрешает вводить только цифры и символ разделитель - наклонную черту /. Например: 11/01/2005


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<script language="JavaScript">
<!--
  function checkinput(evt)
  {
    if (!evt) evt = event;
    if (evt.charCode)
    {
      var charCode = evt.charCode;
    }
    else if (evt.keyCode)
    {
      var charCode = evt.keyCode;
    }
    else if (evt.which)
    {
      var charCode = evt.which;
    }
    else
    {
      var charCode = 0;
    }
    if (charCode>31 && (charCode<48 || charCode>57) && charCode!=47)
    {
      alert("В это поле можно вводить только цифры и разделитель/");    
      return false;
    }
    return true;
  }
//-->
</script>
</head>
<body>
<input type="text" name="data" size="40" maxlength="256" onkeypress="return checkinput(event)">
</body>
</html>

   
 
 автор: HeoH   (25.01.2005 в 12:39)   письмо автору
 
   для: glsv (Дизайнер)   (25.01.2005 в 00:12)
 

с таким я уже знаком, а мне нужно именно по шаблону, Ваш скрипт позволяет вводить такого рода аброкадабру:
2323232//////324324/3432432

а мне необходимо чтобы пользователь мог ввести данные по шаблону dd/mm/yyyy - т.к. далее у меня это "число" преобразуется в вид yyyy-mm-dd и заносится в бд

   
 
 автор: cheops   (25.01.2005 в 14:56)   письмо автору
 
   для: heoh   (24.01.2005 в 20:55)
 

Можно воспользоваться примерно следующим кодом
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title></title> 
</head> 
<body> 
<form name="form" method=get>
<input type="text" name="data" size="40" maxlength="256" > 
<input type="submit" onClick="check_pattern(this.form)">
</form>
</body> 
</html>
<script language="JavaScript"> 
<!-- 
//  document.forms.form.data.mask = "(###)";
  function check_pattern(current_form) 
  { 
    // Получаем проверяемое значение
    var reg_exp = /^[0123][\d]\/[01][012]\/[\d]{4}$/i
    if(reg_exp.test(current_form.data.value))
    {
      return true; 
    }
    else
    {
      alert("Дату следует ввести в формате dd/mm/yyyy");
      return false; 
    }
  } 
//--> 
</script>

   
 
 автор: pavlik   (26.01.2005 в 22:12)
 
   для: cheops   (25.01.2005 в 14:56)
 

а как можно было бы, чтобы не забивать скрипт, все жаваскрипт функции вызывать из какого-то другого файла?

   
 
 автор: glsv (Дизайнер)   (26.01.2005 в 23:39)   письмо автору
 
   для: pavlik   (26.01.2005 в 22:12)
 

JavaScript код следует вынести в специальный файл с расширением js и подключить его в блоке head на странице.

<html>
<head>
<script language="JavaScript" src="site.js"></script>
</head>

   
 
 автор: master   (26.03.2005 в 21:09)   письмо автору
 
   для: cheops   (25.01.2005 в 14:56)
 

делаю, как у вас написано.
появляется окошко - Дату следует ввести в формате dd/mm/yyyy нажимаю ок, а выполнение скрипта продолжается

   
 
 автор: Duran   (26.03.2005 в 21:41)   письмо автору
 
   для: master   (26.03.2005 в 21:09)
 

На мой взгляд - самый оптимальный вариант, это прикрутить календарь к этому полю и запретить ручной ввод :). У меня именно так :). Самый лучший календарь, какой я нашел, это PopCalXP7. В нем есть все ! Праздники, блокировка ввода даты, выпадающей на праздники и т.д. Даже такое редкое явление как расположение выходных в конце недели :) (у буржуев неделя начинается с воскресенья).

   
 
 автор: master   (27.03.2005 в 17:15)   письмо автору
 
   для: Duran   (26.03.2005 в 21:41)
 

http://bogolubow2002.narod.ru/D44.html - вот нашел замечательный скрипт!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования