«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript



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



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

Эта же задача решалась различными способами здесь и здесь (по первой ссылке Вы найдете исходное условие и 3 варианта решений, по второй - модифицированное условие - его более сложные варианты).

Условие задачи:

Написать функцию, которая получает цифровой номер в виде: 123-4567 или 1234567.

Функция возвращает либо номер, либо false - Ложь. Номер должен состоять из семи цифр от 0 до 9, возможно разделенных после третьей цифры дефисом.



Использование регулярных выражений - Проверка цифрового номера с дефисом

Что нужно знать?

1) См. шпаргалку по регулярным выражениям.

2) См. тему Свойства и методы строковых объектов, где подробно рассматривалась работа с регулярными выражениями.

3) Метод search.

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

<script type="text/javascript">

function input(phone){

/* Регулярное выражение для проверки номера из семи цифр: 1234567 или 123-4567 */
var regular = /^\d{3}-?\d{4}$/;

/* Ищем совпадение по регулярному выражению, т.е. по шаблону */
var result = phone.search(regular);

/* Если совпадение не найдено, возвращаем ЛОЖЬ, иначе возвращаем полученный номер */
if(result == -1){
return false;
}
else{
return phone;
}
}

var phone_N = prompt("Введите 7-ми значный номер из цифр от 0 до 9. Попробуйте после третьей цифры разделить их дефисом");

var result = input(phone_N);

document.write(result);

</script>

Результат

Проверка цифрового номера с использованием регулярных выражений

Результат

Рассмотрим используемое здесь регулярное выражение: ^\d{3}-?\d{4}$.

  • \d - это цифра, {7} - ровно 7, ^ - начало строки и $ - конец строки, ? - 0 или 1.

  • Следовательно, по регулярному выражению, т.е. по составленному шаблону мы ищем 7 последовательно расположенных цифр. После третьей цифры может встретиться тире, но только один раз (0 или 1 - квантор ?). Кроме этого исключены ситуации, при которых пользователь может ввести какие либо символы в начале или конце строки.



Читайте также...



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

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

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

Ваше Имя:

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

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

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


Задачи по JavaScript

Тематические публикации
Популярные заметки
Последние заметки