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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проверка значений в input

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
zzz_z
Отправлено: 28 Ноября, 2011 - 12:48:17
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Всем привет.

Скрипт jQuery передает данные в новое окно. Перед непосредственно передачей необходимо сделать небольшую проверку корректности введенных юзером значений. А именно, установить в поле input возможность ввода значений ровно на 12 цифр.

Вот что сейчас у меня есть:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.         jQuery("div#print").click(function()
  3.                 {
  4.                                
  5.                 rnn_user = jQuery('input.rnn').val();
  6.                 iin_user = jQuery('input.iin').val();
  7.                 name_user= jQuery('input.name_user').val();
  8.                 address_user = jQuery('input.address_user').val();
  9.                                        
  10.                 var regex = /\d{13}/ ;
  11.                 if(regex.test($('.rnn').val())){ alert('OOPS');}
  12.                                          
  13.                 else{
  14.  
  15.                 window.open('http://www.'+url+'/code/inforeg/query.php?print='+id_view+'&depart_id='+id_dep+'&lang='+lang_t+'&city='+id_city+'&user='+name_user+'&user_address='+address_user+'&user_rnn='+rnn_user+'&user_iin='+iin_user);
  16.  
  17. });
  18.  
  19.  


Этот код позволяет вводить в input до 3 цифр.

Мне же нужно чтобы, юзер мог ввести ровно определенное количество цифр, ни больше ни меньше. Плюс еще окно открывается и при вводе букв, что тоже надо как то запретить, оставив возможность ввести только цифры.

Помогите реализовать такое пожалуйста. В JavaScript = 0.

(Отредактировано автором: 28 Ноября, 2011 - 13:56:10)

 
 Top
Viper
Отправлено: 28 Ноября, 2011 - 13:34:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. $('.rnn').val().length
выведет кол-во символов.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
zzz_z
Отправлено: 28 Ноября, 2011 - 13:43:04
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Viper пишет:
выведет кол-во символов.


Ну и?)) Необходимо, чтобы юзер мог ввести ровно 12 цифр.
 
 Top
DlTA
Отправлено: 28 Ноября, 2011 - 13:47:32
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




текст "var regex = /^\d{3}/ ;"
заменить на "var regex = /^\d{12}/ ;"
 
 Top
zzz_z
Отправлено: 28 Ноября, 2011 - 13:55:11
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




DlTA пишет:
текст "var regex = /^\d{3}/ ;"
заменить на "var regex = /^\d{12}/ ;"


=))) Цифру 3 я просто так проставил)) Дело в том что если поставлю 13 то смогу вводить до 13 цифр. Но также можно вводить и 9 цифр или 8. Нужно конкретное количество цифр и исключить возможность ввода букв. Такое можно реализовать?
 
 Top
DlTA
Отправлено: 28 Ноября, 2011 - 14:13:18
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




"var regex = /^\d{12}$/ ;"
 
 Top
zzz_z
Отправлено: 28 Ноября, 2011 - 14:17:57
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




DlTA пишет:
"var regex = /^\d{12}$/ ;"


не работает
 
 Top
DlTA
Отправлено: 28 Ноября, 2011 - 14:21:13
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




смотрите дебаг
в чем ошибки
 
 Top
Viper
Отправлено: 28 Ноября, 2011 - 14:52:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




zzz_z что и? а в if не судьба проверку вставить?

CODE (javascript):
скопировать код в буфер обмена
  1. if ($(selector).val().length == 12) { alert('Ровно 12 символов'); }


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
zzz_z
Отправлено: 29 Ноября, 2011 - 10:27:21
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1.   jQuery("div#print").click(function()
  2.                                 {
  3.                                
  4.                                          rnn_user = jQuery('input.rnn').val();
  5.                                          iin_user = jQuery('input.iin').val();
  6.                                          name_user= jQuery('input.name_user').val();
  7.                                          address_user = jQuery('input.address_user').val();
  8.                                        
  9.                                         var regex = /^\d{12}$/ ;
  10.                    
  11.                                        
  12.                                         if((name_user == '') || (address_user == '') || (rnn_user == '') || (iin_user == '')){
  13.  
  14.                                                 jQuery('input.name_user').css({border: "1px solid red"});
  15.                                                 jQuery('input.address_user').css({border: "1px solid red"});
  16.                                                 jQuery('input.rnn').css({border: "1px solid red"});
  17.                                                 jQuery('input.iin').css({border: "1px solid red"});
  18.                                                
  19.                                         }
  20.                                          
  21.                     if(!regex.test($('.rnn').val())){ alert('Некорректный РНН');}
  22.                     if(!regex.test($('.iin').val())){ alert('Некорректный ИИН');}
  23.                                          
  24.                                         else{
  25.  
  26.                                         window.open('http://www.'+url+'/code/inforeg/query.php?print='+id_view+'&depart_id='+id_dep+'&lang='+lang_t+'&city='+id_city+'&user='+name_user+'&user_address='+address_user+'&user_rnn='+rnn_user+'&user_iin='+iin_user);
  27.  
  28.  
  29.                                         }
  30.                                        
  31.                
  32.                                 });
  33.  


Вот так будет верно. Теперь необходимо верно поставить условие по выводу сообщений. Сейчас при некорректном РНН и корректном ИИН данные передаются в новую форму. Подскажите как исправить?
 
 Top
Viper
Отправлено: 29 Ноября, 2011 - 10:48:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. if (regex.test($('.rnn').val()) && regex.test($('.iin').val())) { // Все верно


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
zzz_z
Отправлено: 29 Ноября, 2011 - 10:59:31
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Чето никак не работает.
 
 Top
tuareg
Отправлено: 29 Ноября, 2011 - 12:12:24
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. if(
  3.  (name_user == '') ||
  4.  (address_user == '') ||
  5.  (rnn_user == '') ||
  6.  (iin_user == '') ||
  7.  (!regex.test($('.rnn').val()) && regex.test($('.iin').val()))
  8. ){
  9. /*и дальше код.*/
  10. }
  11.  

P.S посмотрите про использование селекторов jQuery
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB