Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript: Проверка значений элементов формы (e-mail, имя..

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

Kaii

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, кто знает, как сделать JavaScript'ом проверку формы на заполнение имени и сообщения и валидности мейла?

Общая информация о регулярных выражениях в Javascript:
http://www.johnrobertmorris.com/dev/Regex.asp
http://www.evolt.org/article/Regular_Expressions_in_JavaScript/17/36435/

Инструментарий для проверки регулярных выражений:
http://www.cuneytyilmaz.com/prog/jrx/
 





Переименовал. — Svarga.

Всего записей: 35 | Зарегистр. 15-11-2002 | Отправлено: 20:05 16-11-2002 | Исправлено: Cheery, 00:39 05-10-2006
Zyava



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
f_pass_1=document.getElementById('pass_1');

 
надо же получить значение в узле (в инпуте) а не сам узел - вот например:
 

Код:
 
if(document.forms["MyForm"].pass_1.value ==document.forms["MyForm"].pass_2.value)
{
}
 

ну и соотвественно надо добавить имя форме а то нехорошо как-то - форма без имени

Код:
 
<form method="post" name="MyForm">  
...
</form>
 

 
ну и понятно вместо того чтобы алертом показывать сообщение лучше показывать див или спан с этим сообщением где-нить над полем с паролем - типа всплывающей подсказки - ну это тебе на "потом покрасивее графически сделаю. "

Всего записей: 324 | Зарегистр. 04-05-2006 | Отправлено: 00:35 08-06-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zyava

Цитата:
ну и соотвественно надо добавить имя форме а то нехорошо как-то - форма без имени

это как кому нравится.. я люблю по id доступаться.. а не как у тебя
 
 
 

Код:
<script>
    function checkPass() {
    f_pass_1=document.getElementById('pass_1').value
    f_pass_2=document.getElementById('pass_2').value
    f_check=document.getElementById('check')
   
    if (f_pass_1.length == f_pass_2.length)  
        check.innerHTML=(f_pass_1==f_pass_2)?"Все ок":"Пароли разные"
         else
        check.innerHTML=""
    }
</script>
 
<form method="post">
<input type="text" id="pass_1" onchange="checkPass();" onkeyup="checkPass();"\>
<input type="text" id="pass_2" onchange="checkPass();" onkeyup="checkPass();"\>
<BR>
<span id="check">Напиши че-нить</span>
</form>  

 
ps: не проверял

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:41 08-06-2007 | Исправлено: Cheery, 00:42 08-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zyava
Спасибо. Получилось.
Cheery
И тебе спасибо, все работает на Ура.
Благодарен вам.
 
Добавлено:
И еще на последок вопрос....окончательный.
 
Как передать значение? И можно ли?
 
<input type="text" id="pass_1" onchange="checkPass(значение_1);" onkeyup="checkPass(значение_2);"\>
 
в
 
    function checkPass(...) {  
 
и как тут его использовать?..... из какой переменной взять....
 
+
 
как возвратить переменную из нашей функции в тело HTML? return a; (чтобы она вставилась назад в <span>a</span>)

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 00:53 08-06-2007 | Исправлено: XAMyT, 01:17 08-06-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XAMyT

Цитата:
и как тут его использовать?..... из какой переменной взять...


Цитата:
onchange="checkPass(this.value);"

 
 
но глупо, так как тебе нужно значение двух полей
 

Цитата:
как возвратить переменную из нашей функции в тело HTML? return a;

здесь не школа.. переменная не вставляется, вставляется ее значение.
как - написано выше через innerHTML

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:25 08-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще один вопрос по регулярному выражению..... никак не могу его составить, вот для проверки E-mail или IP-адресса тут вроде все ясно... подряд идущие три цифры через точки... а вот как быть с вводом ника для IRC ?
 
1. Цифра не может быть первым символом. (второй, последней, но не первой).
2. Допускаются все буквы русского и англ алфавита. Тут без ограничения. Могут быть в любом месте ника.
3. Запрещаются все специальный символы кроме `~^_-\ такой группы символов. (символы допускаются тоже в любом месте ника как и буквы)
4. Пробел запрещается тоже.
 
Никак не могу понять как совместить эти условия в регулярном выражении.
 
ps. Пытался что то составить вот тут, но никак не получилось... могу для одного условия, а совместить не получается.
http://www.cuneytyilmaz.com/prog/jrx/

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 16:05 08-06-2007 | Исправлено: XAMyT, 16:12 08-06-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XAMyT

Цитата:
Никак не могу понять как совместить эти условия в регулярном выражении.

ну что же тут непонятного?
^[a-zа-я\`\~\^\_\-\\][a-zа-я\`\~\^\_\-\\0-9]*
не проверял

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 04:07 09-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
<script>
   function checkNick() {
   nick=document.getElementById('nick').value;
   if (nick=="") {return;}
   mask="^[a-zа-я\`\~\^\_\-\\][a-zа-я\`\~\^\_\-\\0-9]*";
   if (mask.test(nick)) {
      nick_msg.innerHTML="Ок.";
      nick_img.innerHTML="<img src=\"ok.gif\">";
   } else {
      nick_msg.innerHTML="Недопустимый ник.";
      nick_img.innerHTML="<img src=\"not.gif\">";
   }
   }
</script>
 
<form name="z" action="request.php" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="50%">
 
<tr>
<td width="30%">Ник:</td>
<td><input type="text" name="nick" onblur="checkNick();" onchange="checkNick();"></td>
</tr>
 
<tr>
<td><span id=nick_msg></span></td>
<td><span id=nick_img></span></td>
</tr>
</table>
</form>

 
Пишет ошибка на странице, когда меняешь фокус.... у меня сомнения на регулярное выражение..... в чем может быть ошибка ?
 
+ еще вопрос.
Скрипты 'подгружать' надо каждый в отдельности ? к примеру каждую функцию отдельно в <script>функция.. </script>
Если делаю больше 1 функции у меня сразу ошибка.... разбил все по 1-ой функции...

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 21:22 09-06-2007 | Исправлено: XAMyT, 21:30 09-06-2007
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
XAMyT
Ну что же так невнимательно то?

Код:
 
 <script>
   function checkNick() {
   nick=document.getElementById('nick').value;
   nick_msg=document.getElementById('nick_msg');
   nick_img=document.getElementById('nick_img');
   if (nick=="") {return;}
   mask=/^[a-zа-я\`\~\^\_\-\\][a-zа-я\`\~\^\_\-\\0-9]*/;
   if (mask.test(nick)) {
      nick_msg.innerHTML="Ок.";
      nick_img.innerHTML="sssss<img src=\"ok.gif\">";
   } else {
      nick_msg.innerHTML="Недопустимый ник.";
      nick_img.innerHTML="aaaa<img src=\"not.gif\">";
   }
   }
</script>
 
<form name="z" action="request.php" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="50%">
 
<tr>
<td width="30%">Ник:</td>
<td><input type="text" name="nick" id="nick" onblur="checkNick();" onchange="checkNick();"></td>
</tr>
 
<tr>
<td><span id=nick_msg></span></td>
<td><span id=nick_img></span></td>
</tr>
</table>
</form>
 

 
Добавлено:
XAMyT
Глупость. Если прямые руки-хоть 100 функций.
Привыкай СРАЗУ говорить сообщение об ошибке, здесь не гадалки сидят.

----------
Damn Metal

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 21:30 09-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Глупость. Если прямые руки-хоть 100 функций.

Буду иметь ввиду. Может где то я ошибался.

Цитата:
Привыкай СРАЗУ говорить сообщение об ошибке, здесь не гадалки сидят.

Пишет просто сообщение снизу странички: "Ошибка на странице."
 
ps. Проверил твой код на http://www.w3schools.com/js/tryit.asp?filename=tryjs_text
.... она с такой же ошибкой как и у меня... увидел что ты добавил опцию id в поле <input ...> но я думал name="" достаточно.... ну не знаю... + ты маску отобразил без кавычек.. и еще пару изменений сделал.... но все еще с ошибкой работает.. а точней не работает, что должно работать на страничке....

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 22:02 09-06-2007 | Исправлено: XAMyT, 22:06 09-06-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XAMyT

Цитата:
а точней не работает, что должно работать на страничке....  

открыть страницу в FF или опере и смотреть консоль ошибок.
кавычки для регулярок не нужны


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:46 10-06-2007
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
XAMyT
В Opera и Firefox нет никаких ошибок. Все работает прекрасно, IE что-то тупит с getElementById.

----------
Damn Metal

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 07:54 10-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
nick=document.forms["z"].nick.value;

Да....дела....оказвыается и правда тупил IE с getElementById.. сделал по другому и все стало нормально работать. Ведь надо, чтобы во всех браузерах работал скрипт, а не только в Опере и прочих. Спасибо вам за помощь.
 
Добавлено:
Пишет что на 96 строке, 4 символ, синтаксическая ошибка... я строчку жирным выделил. Не могу понять вообще. В IE отказывается работать, а Opera все сьедает и обрабатывает.
 

Цитата:
   function checkIdent() {
   ident=document.forms["z"].ident.value;
   if (ident=="") {
      ident_msg.innerHTML="";
      ident_img.innerHTML="";
      return;
   }
   if (ident.length>8) {
      ident_msg.innerHTML="Идент должен быть не больше 8 символов.";
      ident_img.innerHTML="<img src=\"not.gif\">";
      return;
   }
   mask=/[\sа-я/`/~/!/@/#/$/%/^/&/*/(/)/=/+/{/}/[/]/;/'/,///>/</?]/;
   if (mask.test(ident)) {
      ident_msg.innerHTML="Недопустимый идент.";
      ident_img.innerHTML="<img src=\"not.gif\">";
      return;
   }
      ident_msg.innerHTML="Ок.";
      ident_img.innerHTML="<img src=\"ok.gif\">";
   }

 
А это сама страничка. HTML

Цитата:
<form name="z" action="request.php" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="30%">Идент:</td>
<td width="30%"><input type="text" name="ident" onblur="checkIdent();" onchange="checkIdent();" onclick="checkIdent();"></td>
<td width="10%"><span id=ident_img></span></td>
<td width="30%"><span id=ident_msg></span></td>
</tr>
</table>
</form>

 
Помогите разобраться.
 
ps. Вот тут как всегда можете посмотреть, что есть что...
http://www.w3schools.com/js/tryit.asp?filename=tryjs_text

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 11:18 10-06-2007 | Исправлено: XAMyT, 16:08 10-06-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XAMyT

Цитата:
Пишет что на 96 строке, 4 символ, синтаксическая ошибка.

что там делает знак подчеркивания? откуда??

Цитата:
ident_msg

инициализировал такой элемент в функции??? млин.. читать учебники по js и не говорить глупостей насчет

Цитата:
и правда тупил IE с getElementById

он не тупит.. это руки не оттуда

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:45 10-06-2007
Zeroglif

...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery

Цитата:
что там делает знак подчеркивания? откуда??

Этот знак преспокойно живёт в id спан-ов.

Цитата:
инициализировал такой элемент в функции??? млин.. читать учебники по js

Как это и про что ж ему читать? Он обращается к этим самым спан-ам,  непосредственно обращаясь к свойствам глобального объекта, коими становятся id в IE и других браузерах (при определённых условиях). Не слишком красиво, но допустимо...
 

Цитата:
и не говорить глупостей насчет  
Цитата:и правда тупил IE с getElementById  
он не тупит.. это руки не оттуда

Как раз IE тупит (в предыдущих примерах), руки тут не при чём.
 
XAMyT
 
Первое. В IE глобальная переменная с тем же именем, что и id, будет конфликтовать с самим id (свойство window). В тех примерах, где у тебя
 

Код:
 
nick=document.getElementById('nick').value;  
nick_msg=document.getElementById('nick_msg');  
nick_img=document.getElementById('nick_img');
 

 
надо или просто поставить перед именем переменной var, что сделает переменные локальными и конфликта с id в IE не будет, или (если нужно, чтобы всё было глобально) дать переменным имена, отличные от id элементов.
 
Второе. Последний пример, где ты обращаешься к спан-ам напрямую лучше переделать через document.getElementById, чтобы работало всегда, а не через раз.
 
Третье. В последнем примере ошибка определяется на этапе построения регулярного, которое вообще непонятно как составлено, кругом слеши (не обратные!), что приводит к ошибке. Попробуй для теста написать простейшее регулярное и сразу увидишь, как ошибка исчезнет. Почему работает Опера - не знаю, ошибки все браузеры обрабатывают/проглатывают по-своему.

Всего записей: 2105 | Зарегистр. 19-05-2003 | Отправлено: 16:54 11-06-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zeroglif

Цитата:
Как это и про что ж ему читать? Он обращается к этим самым спан-ам,  непосредственно обращаясь к свойствам глобального объекта, коими становятся id в IE и других браузерах (при определённых условиях). Не слишком красиво, но допустимо...  

 
начнем с того, что инициализации переменных в том куске кода у него нет.. и кто знает, может он и не расположен на той же странице, где и
Цитата:
function checkNick() {  

 
собственно об этом и было сказано.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:47 11-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так разобрался.....
В форме вообще все ID и NAME полей <input> и <span> сделал только с буквенным содержанием, т.е. msgnick, imgnick....
А на будущее... вот вы скриптите, и как бы нужно знать где переменная означает картинку, а где текст, к примеру msg_nick и img_nick наглядно бы показовало это.... т.е. символ _ хорошо разделяет.... и вопрос, как разделяете вы ? или пишете все слитно напропалую... ?
 
+После изменений, разобрался где ошибка, но не понял в чем именно, пишет в 95 строке, 52-ой символ: Препдолагается наличие ")"
 
Вот код, если закоментированную зону оставить, то ошибок нету.

Цитата:
   function checkIdent() {
   var ident=document.forms["z"].ident.value;
   if (ident=="") {
      msgident.innerHTML="";
      imgident.innerHTML="";
      return;
   }
   if (ident.length>8) {
      msgident.innerHTML="Идент должен быть не больше 8 символов.";
      imgident.innerHTML="<img src=\"not.gif\">";
      return;
   }
   //if (/[\sа-я/`/~/!/@/#/$/%/^/&/*/)/(/=/+/{/}/[/]/;/'/,///>/</?]/.test(ident)) {
    //  msgident.innerHTML="Недопустимый идент.";
    //  imgident.innerHTML="<img src=\"not.gif\">";
    //  return;
   //}
      msgident.innerHTML="Ок.";
      imgident.innerHTML="<img src=\"ok.gif\">";
   }

 
Не пойму....

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 16:18 12-06-2007
sTa1kEr



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А на будущее... вот вы скриптите, и как бы нужно знать где переменная означает картинку, а где текст, к примеру msg_nick и img_nick наглядно бы показовало это.... т.е. символ _ хорошо разделяет.... и вопрос, как разделяете вы ? или пишете все слитно напропалую... ?  

Имхо, хороший стиль - разделять слова в переменных зглавными буквыми. msgNick, imgNick

Всего записей: 279 | Зарегистр. 28-07-2005 | Отправлено: 18:27 12-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sTa1kEr
О таком даже не думал, напомнил.
 
+ Вопрос, может даже откачу с регулярного выражения.... на проверку побуквенно.
Тут свой плюс, можно сказать пользователю какие символы неверны. Вот написал такую функцию... но чтото тоже косячит...
 

Цитата:
function isMatch(str,chars) {
   for (i=0; i<str.length; i++) {
      char=str.charAt(i);
      check=false;
      for (z=0; z<chars.length; z++) {
         if (char==chars.charAt(z)) {check=true;}
      }
      if (!check) {return false;}
   }
   return true;
}

 
Как я понимаю использовать надо так ?
 
str="моё имя";
chars="моёимяляляля123123";
 
if (isMatch(str,chars)) {значит все ок;}
 
Но не работает что-то

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 18:43 12-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В Опере работает, но проверяет первый символ.... другие в рассчет не берет
А в ИЕ пишет об ошибке.....
 
Прилагаю......

Цитата:
<form name="z" action="request.php" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="30%">Идент:</td>
<td width="30%"><input type="text" name="ident" onblur="checkIdent();" onchange="checkIdent();" onclick="checkIdent();"></td>
<td width="10%"><span id=imgident></span></td>
<td width="30%"><span id=msgident></span></td>
</tr>
</table>
</form>
 
<script>
function isMatch(str,chars) {
   for (i=0; i<str.length; i++) {
      char=str.charAt(i);
      check=false;
      for (z=0; z<chars.length; z++) {
         if (char==chars.charAt(z)) {check=true;}
      }
      if (!check) {return false;}
   }
   return true;
}
 
   function checkIdent() {
   var ident=document.forms["z"].ident.value;
   if (ident=="") {
      msgident.innerHTML="";
      imgident.innerHTML="";
      return;
   }
   if (ident.length>8) {
      msgident.innerHTML="Идент должен быть не больше 8 символов.";
      imgident.innerHTML="<img src=\"not.gif\">";
      return;
   }
   chars="\`\~\!\@\#\$\%\^\&\*\(\)\=\+\{\}\[\]\:\;\'\,\<\>\?\/";
   str=ident;
   if (isMatch(str,chars)) {
      msgident.innerHTML="Недопустимый идент.";
      imgident.innerHTML="<img src=\"not.gif\">";
      return;
   }
      msgident.innerHTML="Ок.";
      imgident.innerHTML="<img src=\"ok.gif\">";
   }
</script>

 
Помогите разобраться
http://www.w3schools.com/js/tryit.asp?filename=tryjs_text

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 23:12 15-06-2007 | Исправлено: XAMyT, 23:20 15-06-2007
XAMyT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Черт, уже достало меня.
 
Пишет:
Строка: 27
Символ: 12
Ошибка: Недопустимое присвоение
Код: 0
 
Жирным выделил место.
 

Цитата:
 
<form name="z" action="request.php" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
 
<tr>
<td><font color="red">Ляляля</font><br><br><br></td>
</tr>
 
<tr>
<td width="30%">Идент:</td>
<td width="30%"><input type="text" name="ident" onblur="checkIdent();" onchange="checkIdent();" onclick="checkIdent();"></td>
<td width="10%"><span id=imgident></span></td>
<td width="30%"><span id=msgident></span></td>
</tr>
 
</table>
</form>
 
 
<script>
 
<!------------- Попадает ли символ в строку ---->
 
function isMatch(str,chars) {
   for (i=0; i<str.length; i++) {
      char=str.charAt(i);
      check=false;
      for (z=0; z<chars.length; z++) {
         if (char==chars.charAt(z)) {check=false;}
      }

      if (!check) {return false;}
   }
   return true;
}
 
<!------------------- Конец ------------------->
 
 
<!--------------- Проверка идента -------------->    
 
   function checkIdent() {
   var ident=document.forms["z"].ident.value;
   if (ident=="") {
      msgident.innerHTML="";
      imgident.innerHTML="";
      return;
   }
   if (ident.length>8) {
      msgident.innerHTML="Идент должен быть не больше 8 символов.";
      imgident.innerHTML="<img src=\"not.gif\">";
      return;
   }
   chars="\`\~\!\@\#\$\%\^\&\*\(\)\=\+\{\}\[\]\:\;\'\,\<\>\?\/";
   str=ident;
   if (isMatch(str,chars)) {
      msgident.innerHTML="Недопустимый идент.";
      imgident.innerHTML="<img src=\"not.gif\">";
      return;
   }
      msgident.innerHTML="Ок.";
      imgident.innerHTML="<img src=\"ok.gif\">";
   }
 
<!------------------- Конец ------------------->
 
</script>
 

help люди.
 
Вот тут можете посмотреть. Уже не знаю что делать. Это конец.
http://www.w3schools.com/js/tryit.asp?filename=tryjs_text

Всего записей: 128 | Зарегистр. 07-06-2007 | Отправлено: 00:22 17-06-2007 | Исправлено: XAMyT, 00:44 17-06-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript: Проверка значений элементов формы (e-mail, имя..


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru