«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг «Установка и продажа окон» Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Любая тема сайта - 4900 руб. Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих



Далее на странице...

Ранее было рассмотрено достаточно тонкостей и нюансов при составлении регулярных выражений.

Теперь нужно выполнить самостоятельное задание.

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

Нужно написать регулярное выражение для поиска в тексте номера кредитной карты. Текст: "Иван вчера потерял свою кредитку, ее номер 1178-9087-2384-8787. Поэтому он пошел в банк и описал ситуацию. Там пошли ему навстречу и выдали новую кредитку под номером: 1103-8899-0811-1722".

Напомню, что кредитные карты имеют формат: xxxx-xxxx-xxxx-xxxx. Например: 1178-9087-2384-8787

При этом, вам нужно найти только те номера, в которых первые 4 цифры содержат только 0, или 1 или 2, или 3, т.е. вас, например, устроит номер 1103-8899-0811-1722, но не устроит 1490-8877-7345-8111 (т.к. здесь присутствует цифры 4 и 9, не удовлетворяющие нашим условиям).

При этом номер кредитки нужно не просто найти, а вытащить в переменную result и вывести на экран.

Далее будут рассмотрены два решения.



Решение №1

Фрагмент кода

<script type = "text/javascript">

var card = "Иван вчера потерял свою кредитку, ее номер 1178-9087-2384-8787. Поэтому он пошел в банк и описал ситуацию. Там пошли ему навстречу и выдали новую кредитку под номером: 1103-8899-0811-1722";

var regular_all = /[0-9-]{19}/g; /* Регулярное выражение для поиска всех номеров кредитных карт в строке */
var regular_select = /[0-3]{4}[0-9-]{15}/g; /* Регулярное выражение для поиска номера кредитной карты, первые четыре символа, которого состоят из цифр от 0 до 3 */

var result_all = card.match(regular_all);
var result_select = card.match(regular_select);

document.write(result_all + " - Это все номера кредитных карт в строке <p>");
document.write(result_select + " - Номер кредитной карты, где первые четыре цифры находятся в диапазоне от 0 до 3");

</script>

Результат

Пояснения к решению №1:

  • Номер кредитной карты состоит из 19-ти символов xxxx-xxxx-xxxx-xxxx.

  • Переменная regular_all содержит регулярное выражение [0-9-]{19} для поиска номера кредитной карты, состоящего из любых цифр от 0 до 9.

    Диапазон [0-9-] - цифры от 0 до 9 и дефис в количестве {19} символов.

  • Добавляем к регулярному выражению глобальный поиск g для поиска всех номеров кредитных карт в строке.

  • Переменная regular_select содержит регулярное выражение [0-3]{4}[0-9-]{15} для поиска номера кредитной карты, первые четыре символа, которого состоят из цифр от 0 до 3.

Решение №2

Фрагмент кода

<script type="text/javascript">

var card = "Иван вчера потерял свою кредитку, ее номер 1178-9087-2384-8787. Поэтому он пошел в банк и описал ситуацию. Там пошли ему навстречу и выдали новую кредитку под номером: 1103-8899-0811-1722";

var regular_all = /\d{4}-\d{4}-\d{4}-\d{4}/g; /* Регулярное выражение для поиска всех номеров кредитных карт в строке */
var regular_select = /[0123]{4}-\d{4}-\d{4}-\d{4}/g; /* Регулярное выражение для поиска номера кредитной карты, первые четыре символа, которого состоят из цифр от 0 до 3 */

var result_all = card.match(regular_all);
var result_select = card.match(regular_select);

document.write(result_all + " - Это все номера кредитных карт в строке <p>");
document.write(result_select + " - Номер кредитной карты, где первые четыре цифры находятся в диапазоне от 0 до 3");

</script>

Результат

Пояснения к решению №2:

  • Номер кредитной карты имеет формат xxxx-xxxx-xxxx-xxxx. То есть это 4 последовательности из 4-ч цифр, разделенных дефисом

  • Переменная regular_all содержит регулярное выражение:

    \d{4}-\d{4}-\d{4}-\d{4} для поиска номера кредитной карты, состоящего из любых цифр от 0 до 9.

    Любая цифра от 0 до 9 \d и квантор {4} (что значит ровно 4) образуют шаблон, который обозначает последовательность из любых 4-х цифр от 0 до 9 \d{4}.

    Таких шаблонов всего 4, разделенных дефисом.

  • Переменная regular_select содержит регулярное выражение:

    [0123]{4}-\d{4}-\d{4}-\d{4} для поиска номера кредитной карты, первые четыре символа, которого состоят из цифр от 0 до 3.

    [0123]{4} - Диапазон [0123] из цифр от 0 до 3 в количестве {4} символов.

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Объект String
Практическая задача с кредитной картой
2291
Свойство length - Число символов в строке
3088
Практическая задача - Свойство length
1480
Регистр строки - toUpperCase и toLowerCase
24600
Практическая задача - Методы toUpperCase и toLowerCase
1616
Поиск совпадений в строке - Методы indexOf и lastIndexOf
3057
Практическая задача - Методы indexOf и lastIndexOf
1562
Метод slice - Копирование из строки
2886
Практическая задача - Метод slice
1623
Методы charAt и charCodeAt - Возвращаем символ и КОД символа
10463
Практическая задача - Методы charAt и charCodeAt
2913
Метод search - Регулярные выражения
2296
Регулярные выражения - Начало и Конец строки
2335
Практическая задача - Регулярные выражения
1470
Метод match - Возвращает массив из совпадений - Глобальный поиск g
3296
Поиск сайта в строке
1948
Метод replace - Замена совпадений
4591
Практическая задача - Метод replace
2131
Метод trim в - Удаление пробелов в начале и конце строки
6202
Метод substring - Извлекает часть строки
1140
Метод split в JavaScript - Разделитель строки
2139
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки