logo
Vvedenie_v_Veb_programmirovanien_2 / Vvedenie_v_Veb_programmirovanien_2

Лабораторная работа №6 по JavaScript(4 часа). Проверка правильности заполнения формы на сайте

Проверка данных, вводимых пользователем в форму:

а) Проверка обязательных для ввода полей

b) Проверка допустимости вводимых данных

c) Удаление HTML тегов

d) Удаление обратных слешей

  1. Добавьте на свой сайт, созданный в предыдущих лабораторных работах, страничку для регистрации пользователей. Для этого сформируйте форму регистрации пользователя со следующей информацией:

Используя JavaScript и регулярные выражения выполните валидацию формы согласно следующих требований.

  1. Развернутые результаты валидации (какие поля не заполнены или неправильно заполнены) вывести в:

3. Развернутый вариант задания. Добавьте на сайт, страничку для регистрации пользователей. Для этого сформируйте форму регистрации пользователя со следующей информацией:

фамилия;

имя;

отчество;

дата рождения;

пол;

номер паспорта;

логин;

пароль и подтверждение пароля;

e-mail;

список интересов (политика, культура, искусство, спорт, музыка) (список в будущем может быть расширен);

признак согласия с условиями использования сайта;

«о себе».

При этом поля

фамилия;

имя;

отчество;

дата рождения;

пол;

номер паспорта;

логин;

пароль и подтверждение пароля;

e-mail;

признак согласия с условиями использования сайта

должны быть обязательными для заполнения.

Используйте CSS-стили для оформления формы. Для удобства используйте таблицу для размещения элементов формы и подписей к ним. До подключения стилевых классов разработанных вами в лабораторной работе № 4 форма должна иметь следующий вид.

При необходимости дополните стилевые таблицы новыми классами таким образом, чтобы разработанная форма соответствовала стилю вашего сайта.

4. Используя JavaScript и регулярные выражения выполните валидацию формы согласно следующих требований.

4.1. Все поля, помеченные как обязательные для заполнения, должны быть не пустыми.

4.2. Поля Фамилия, Имя, Отчество могут содержать только символы русского и английского алфавита, точку, дефис и пробел.

4.3. Поле Год может содержать только четыре цифры, и отображать года с 1900 по 2007.

4.4. Поле месяц может содержать только значения месяца в формате ММ: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11 или 12.

4.5. Поле день может содержать только значения дня в формате ДД. Провести валидацию на недопустимость значений типа 30 или 31 число в феврале, 31 число в апреле, июне, сентябре, ноябре, 29 число в феврале невисокосного года.

4.6. Поле Номер паспорта содержит девять символов из которых два первых – латинские буквы, а семь последующих – цифры.

4.7. Поле Логин может содержать от 6 до 20 символов и состоять только из латинских букв, точки, подчеркивания и дефиса.

4.8. Поле Пароль может содержать от 6 до 20 символов и состоять только из латинских букв, точки, подчеркивания и дефиса и не совпадать с логином.

4.9. Поле Подтверждения пароля должно совпадать с полем Пароль.

4.10. Поле E-mail должно соответствовать всем требованиям для адреса электронной почты. Имя пользователя и имя почтового сервера разделяются знаком @, и могут содержать только латинские буквы, или цифры, или дефис, или точку. Имя домена верхнего уровня может содержать только латинские буквы.

5. Вывести информацию о заполнении полей для пользователя в соответствии с пунктом задания, указанном преподавателем.

5.1. Развернутые результаты валидации (какие поля не заполнены или неправильно заполнены) вывести в окно предупреждения.

5.2. Развернутые результаты валидации (какие поля не заполнены или неправильно заполнены) вывести на страницу. Например, добавить в таблицу еще одну строку, объединить в ней все ячейки и поместить информацию в нее, или поместить информацию в контейнер вне формы.

5.3. В таблице, в которой вы разместили элементы формы, предусмотрите еще один столбец. В этот столбец поместите все необходимые пояснения для заполнения полей. Например, какие символы могут входить в логин или пароль, каким должен быть формат даты рождения и номера паспорта и т. д. Развернутые результаты валидации (какие поля не заполнены или неправильно заполнены) вывести в этот столбец, ниже пояснений к заполнению. Информация о незаполненном, или неверно заполненном, элементе должна выделяться другим цветом, например красным.

В сценарии JavaScript могут использоваться объекты нескольких видов:

клиентские объекты, входящие в модель BOM: window, location, navigator и т.п.

клиентские объекты, входящие в модель DOM:document

встроенные объекты Array, String, Date, Number, Function, Boolean, Math.

пользовательские объекты

Оператор for(переменная in объект) позволяет "пробежаться" по свойствам объекта. Пример.

for(v in document)

document.write("document."+v+" = <B>"+ document[v]+"</B><BR>");

Всю необходимую информацию о запущенном браузере и системе пользователя можно узнать при помощи объекта navigator.

Получите информацию о браузере и системе: имя браузера, версия браузера, кодовое название браузера, платформа на которой работает браузер, доступность на запуск сценариев JavaScript.

b)Укажите корректный JavaScript синтакс для открытия нового окна "window2" ?

window.open("http://www.w3schools.com","window2")

open.new("http://www.w3schools.com","window2")

new.window("http://www.w3schools.com","window2")

new("http://www.w3schools.com","window2")

  1. Задание задержек по времени при выполнении функций. Программирование картинок. Загрузка и манипулирование с изображениями на JavaScript.

Следует обратить внимание на использование метода setTimeout(). JavaScript разрабатывался для многопоточных операционных систем, поэтому правильнее будет представлять себе исполнение скриптов следующим образом:

a)скрипт movie() получает управление от обработчика события onLoad;

b)заменяет картинку;

c)порождает новый скрипт movie() и откладывает его исполнение на 500 миллисекунд;

d)текущий скрипт movie() уничтожается JavaScript-интерпретатором.

После окончания срока задержки исполнения все повторяется.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Документ без названия</title>

<SCRIPT>

var i=0;

n=5;

function movie()

{

document.i.src='n'+i+'.gif';

i++; if(i>10){i=0;n--;}

if(n>0)setTimeout('movie();',500);

}

</SCRIPT>

</head>

<body onLoad="movie();"><IMG NAME=i>

</body>

</html>

a)Реализовать запуск и остановить мультипликацию по требованию пользователя по нажатию на кнопке.

8. Создайте страницу, содержащую произвольный текст. Сразу после загрузки она должна автоматически выводить диалоговое окно с адресом URL текущей страницы.

9. Создать страницу, использующую операторы:

window.status = "Welcome to my Web page.";

document.write("<hl>Welcome to my Web page.</hl>")

Наведение курсора на эти строки должно вызывать диалоговые окна, поясняющие работу этих операторов.

10. Манипулирование окнами: изменение размера, цвета и др.

11. Адрес URL получен из свойства href объекта location.

<html> <head>

<script type="text/javascript">

function showLocation() {

alert("This page is at: " + location.href);

}

</script> </head>

<body onload="showLocation()"> Bu, be, by.

</body> </html>

Создать кнопку и по событию onclick вывести это сообщение в окно статуса состояния и в другие диалоговые окна.