Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Валидация получисловых полей
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Валидация получисловых полей

Страниц (1): [1]
 

1. Viper - 19 Мая, 2010 - 15:36:45 - перейти к сообщению
Собстно в JS не силен поэтому прошу некоторую помощь. Как я понимаю в JS синтаксис регулярок примерно такой же как и в php?!
Что нужно... Нужно как-то проверить что поля содержат только цифры и точки и ничего другого

CODE (javascript):
скопировать код в буфер обмена
  1. jQuery(document).ready(function($){
  2.         $("form#advanced_search_frm").submit(function(){
  3.                 $("div.prod_id input[type=text]").each(function(){
  4.                         var this_val = $(this).val();
  5.                         var re = new RegExp("\d+(\.)");
  6.                         if (re.test(this_val)) {
  7.                                 alert("Ok");
  8.                         }
  9.                 });
  10.                 return false;
  11.         });
  12. });


но что-то не особо проверяет... т.е. первое поле проверяет и то неправильно, а дальше не хочет Недовольство, огорчение
2. JustUserR - 19 Мая, 2010 - 15:59:19 - перейти к сообщению
Viper пишет:
Собстно в JS не силен поэтому прошу некоторую помощь. Как я понимаю в JS синтаксис регулярок примерно такой же как и в php?!
Не совсем так поскольку в JS используется полноценные регрялные выражения как особый тип данных почти как это сделано в Perl - поэтому регулярное выражение не обрамляется в кавычки а обрамляется в прямые слеши
3. Viper - 19 Мая, 2010 - 16:30:45 - перейти к сообщению
JustUserR пишет:
поэтому регулярное выражение не обрамляется в кавычки а обрамляется в прямые слеши

несколько не понял... в всех примерах пишется в двойных либо одинарных кавычках
4. JustUserR - 20 Мая, 2010 - 16:48:53 - перейти к сообщению
Viper пишет:
Несколько не понял... в всех примерах пишется в двойных либо одинарных кавычках
Дело в том что в JS регулярные выражения являются особым типом данных как в Perl и записываются напрямую - иначе говоря для экранирования двойных кавычек в строке можно использовать следующее выражения str.replace(/\"/,"\\\"") То есть регулярное выражения является не только отдельным базовым объектом то есть значением constructor или instanseof - но и базовым встроенным типом то typeof и по соответствующей константе

 

Powered by ExBB FM 1.0 RC1