Использование регулярных выражений

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 30. Практическая работа по теме Использование регулярных выражений.doc

Практическая работа№23

Тема: Использование регулярных выражений

Цель: рассмотреть некоторые стандартные функции PHP для проверки корректности введённых данных и алгоритм использования регулярных выражений.

Время выполнения: 2 часа

Теоретический материал:

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

Функции для работы с регулярными выражениями:

1) boolereg(stringpattern, stringstring [, arrayregs]) – ищет в строке string соответствие регулярному выражению, заданному в шаблоне pattern.

2) stringereg_replace(stringpattern, stringreplacement, stringstring) – заменяет найденный в строке string шаблон pattern на строку replacement и, если соответствие было найдено, возвращает модифицированную строку.

3) booleregi (stringpattern, stringstring[, arrayregs]) – идентична функции ereg, за исключением того, что она игнорирует регистр.

4) arraysplit (stringpattern, stringstring [, intlimit]) – возвращает массив строк, которые представляют собой подстроки строки string, образованные в результате разделения строки string на подстроки в соответствии с регулярным выражением pattern.

5) arrayspliti (stringpattern, stringstring [, intlimit]) - аналогична функции split, за исключением того, что является нечувствительной к регистру.

6) stringeregi_replace (stringpattern, stringreplacement, stringstring) – аналогична функции ereg_replace, за исключением того, что она является нечувствительной к регистру.

Задания:

1. Составьте регулярное выражение для проверки корректности заполнения адреса электронной почты.

2. Создайте web-страницу, содержащую четыре поля (имя, адрес электронной почты, пароль и подтверждение пароля) и кнопку отправки данных.

Ход работы (решение сохраните в отдельную папку):

1.   В первом задании нужно только составить выражение без его проверки на компьютере. В регулярном выражении для проверки адреса электронной почты необходимо учесть то, что: а) в имени пользователя могут присутствовать буквы нижнего и верхнего регистров, цифры, знаки подчеркивания, минуса и точки; б) для проверки разделителя между именем пользователя и именем домена в выражение требуется добавить +@; в) доменное имя может содержать две или три латинские буквы. Все три шага нужно объединить в одно выражение при помощи плюса.

2.   К выполнению второго задания предъявляется следующие требования:

a.   Поля и кнопка должны располагаться сверху вниз;

b.   В имени могут содержаться только латинские буквы и цифры;

c.   Адрес электронной почты проверяется в соответствие с регулярным выражением, составленным в предыдущем задании;

d.   Пароль и подтверждение пароля должно отображаться знаками «*». Для этого указывается type=password. Конечно, значения обоих полей должны совпадать;

e.   Вся форма и каждое поле в отдельности проверяется на пустоту при помощи функции empty или isset. Для каждого пустого поля выводится соответствующее сообщение красным цветом, например, «не введён адрес»;

f.    Из первых двух полей удалите обратные слеши и тэги;

Как только форма заполнена абсолютно корректно на той же web-странице (где находится форма) выводится сообщение «всё в порядке».

 

Контрольные вопросы:

1.   Что является регулярным выражением?

2.   Укажите назначение регулярных выражений.

3.   Охарактеризуйте базовый синтаксис описания регулярного выражения.

4.   Охарактеризуйте групповой символ, ветки и границы при описании регулярных выражений.

5.   Опишите функции для работы с регулярными выражениями.

6.   Для чего предназначены функции isset() и empty()?

7.   Какие стандартные функции Вы использовали при решении задач данного практического занятия?

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

9.   Опишите синтаксис и назначение функций isset(), empty(), stripslashes(), htmlspecialchars().

10.   Покажите на примере использование функции на проверку пустоты поля.

11.   Какие этапы включает минимальный набор действий, необходимых для проверки корректности данных?


Скачано с www.znanio.ru