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

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


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

Будут рассмотрены несколько вариантов решения.

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

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

Функция принимает или отвергает полученную комбинацию, которая должна состоять из семи цифр от 0 до 9, разделенных после третьей цифры дефисом.

В комбинации могут быть любые цифры от 0 до 9. Они могут повторяться, и их порядок не важен.



1-ый вариант решения - Циклы и условия

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

1. Естественно тему функций (в частности оператор return - возврат значений функцией)

2. Условия if-else

3. Что такое «не число» - NaN в JavaScript. Функция isNaN

4. Метод charAt - Возвращаем символ строки

5. Циклы в JavaScript - Цикл for

6. Метод prompt объекта Window

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

<script type="text/javascript">

function input(phone){

/* Проверка на число символов */
if (phone.length !== 8){
return false;
}

else{
/* Проверка на дефис */
if (phone.charAt(3) != "-"){
return false;
}
/* Проверки на НЕ ЧИСЛО */
else{
/* Цикл для 1-ой проверки */
for(i = 0; i < 3; i++){
if (isNaN(phone.charAt(i))){
return false;
}
}
/* Цикл для 1-ой проверки */
for(i = 4; i < 8; i++){
if (isNaN(phone.charAt(i))){
return false;
}
}
}
}
return phone;
}

var phone_N = prompt("Введите номер из 7-ми цифр формата 111-1111");

var result = input(phone_N);

document.write(result);

</script>

Результат

1-ый вариант решения - Результат

2-ой вариант решения - Извлекаем часть строки

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

Помимо знаний, используемых в 1-м варианте решения задачи, здесь мы будем иметь дело:

1) Метод substring в JavaScript - Как извлечь часть строки?

2) Логический оператор ИЛИ

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

<script type="text/javascript">

function input(phone){

var three = phone.substring(0,3); /* Извлекаем 1-е три символа строки */
var four = phone.substring(4); /* Извлекаем всю строку, начиная с 4-го символа */

/*
1. Проверка на число символов
2. Проверка на дефис
3. Две проверки на НЕ число 2-х групп символов: isNaN(three) и isNaN(four)
*/

if(phone.length != 8 || phone.charAt(3) != "-" ||isNaN(three) || isNaN(four)){
return false;
}
else{
return phone;
}
}

var phone_N = prompt("Введите номер из 7-ми цифр формата 111-1111");

var result = input(phone_N);

document.write(result);

</script>

Результат

2-ой вариант решения - Результат

3-ий вариант решения

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

Третий вариант решения задачи по проверке номера телефона вида 123-4567 не требует иных знаний, кроме перечисленных в 1-х двух вариантах решения.

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

<script type="text/javascript">

function input(phone){

/* 1. Проверка на число символов */
if (phone.length != 8){
return false;
}

for(i = 0; i < phone.length; i++){

/* 2. Проверка на дефис для 4-го символа */
if (i == 3){
if(phone.charAt(i) != "-"){
return false;
}

}

/* 3. Проверка на НЕ число всех остальных символов */
else if(isNaN(phone.charAt(i))){
return false;
}

}
return phone;
}

var phone_N = prompt("Введите номер из 7-ми цифр формата 111-1111");

var result = input(phone_N);

document.write(result);

</script>

Результат

3-ий вариант решения - Результат

На следующей странице задача по проверке номера телефона будет усложнена. Изучайте Javascript.

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

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

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

Ваше Имя:

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

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

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


Задачи по JavaScript
Последние заметки
Популярные заметки