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

HTML+CSS+JavaScript

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

 

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

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

тема: только цифры
 
 автор: ronin   (06.12.2007 в 14:03)   письмо автору
 
 

Здравствуйте!
у меня форма где есть поле songlenth1


if (theForm.songlenth1.value != /([0-9]$)/)
  {
    alert("Тут должны быть только цифры!");
    theForm.songlenth1.focus();
    return (false);
  }

в форме даже если ввести цифры все равно выскакивает alert!

   
 
 автор: CNT   (06.12.2007 в 14:19)   письмо автору
 
   для: ronin   (06.12.2007 в 14:03)
 

VALUE текстового поля - это его значение КАК ЕСТЬ
Вы сравниваете значение VALUE с какой-то непонятной бякой.
Разумеется, условие ВСЕГДА даст ответ true (если только вы в текстовом поле не пропишете в точности вашу бяку, коя справа в условном операторе).

Если вы полагаете, что написанная бяка - это есть регулярное выражение, то вы ошибаетесь.
Регулярные выражения В ЛЮБОМ ЯЗЫКЕ программирования оформляются соответствующим образом и используются ТОЛЬКО в соответствующих методах, а не там, где вам вздумается.

В данном случае, во-первых, проще использовать мнимый символ \d вместо [0-9].
Во-вторых, необходимо использовать какой-либо из методов. Например, replace

if (theForm.songlenth1.value.replace (/\d/g, '').length)

   
 
 автор: bronenos   (06.12.2007 в 14:19)   письмо автору
 
   для: ronin   (06.12.2007 в 14:03)
 

if (!theForm.songlenth1.value.match(/^\d+$/))

   
 
 автор: ronin   (06.12.2007 в 15:44)   письмо автору
 
   для: bronenos   (06.12.2007 в 14:19)
 

спасибо за помощь!
bronenos - работает.
CNT че то не получается.

   
 
 автор: sim5   (06.12.2007 в 16:11)   письмо автору
 
   для: ronin   (06.12.2007 в 15:44)
 

Если у вас это одно поле, то просто запретить ввод не цифровых значений.

   
 
 автор: CNT   (06.12.2007 в 17:17)   письмо автору
 
   для: ronin   (06.12.2007 в 15:44)
 

>че то не получается.
А что именно не получается-то?
Скопировать как есть прямо отсюда (именно скопировать, а не пытаться корявыми ручонками воиспроизвести похоже) и заменить скопированным написанную вами бяку не получается?

   
 
 автор: ronin   (06.12.2007 в 17:50)   письмо автору
 
   для: CNT   (06.12.2007 в 17:17)
 

все понял: тот вариант который предложил bronenos - работает, а тот что CNT работает, если в поле поместить БЯКУ, а не цифру. Если поле пустое, т.е. без бяки и цифр, то функция проверки не срабатывает.

   
Rambler's Top100
вверх

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