// Программа поиска операторов мобильной связи Украины
"use strict";
// Создаем объект с значениями ключей-массивами(коды операторов)
var mobile = {
Kyivstar: ["039", "067", "068", "096", "097", "098"],
Vodafone: ["050", "066", "095", "099"],
Lifecell: ["063", "093"],
Intertelecom: ["094"],
PEOPLEnet: ["092"],
TriMob: ["091"]
}
// Запрашиваем у пользователя номер мобильного телефона
var user = prompt("Введите номер мобильного телефона в формате: 000 1112233", "");
// Получаем доступ к первым 3-м индексам user
var x = user.substr(0, 3);
// Прогоняем в цикле все ключи
for (var key in mobile) {
var arr = mobile[key];
// Проходимся по всем массивам
var check = arr.forEach(function (item, i, arr) {
if (x === item) {
//Выводим пользователю результат
alert("Вас приветствует " + key);
}
});
}
Задача была такая:
Создать объект, который содержит названия и коды мобильных операторов. Пользователь вводит номер телефона и получает информацию о своем операторе.
Я не совсем уверен в правильности решения данной задачи.
Вроде все работает, а правильно ли?
Ответ
Вставил из старой проверки своей с сайта, может пригодится:
// Создаем объект с значениями ключей-массивами(коды операторов)
var mobile = {
Kyivstar: ["039", "067", "068", "096", "097", "098"],
Vodafone: ["050", "066", "095", "099"],
Lifecell: ["063", "093"],
Intertelecom: ["094"],
PEOPLEnet: ["092"],
TriMob: ["091"]
}
// Запрашиваем у пользователя номер мобильного телефона
var user = prompt("Введите номер мобильного телефона", "");
var x;
var y = -1;
user = getTelNums(user);
switch (user.length) {
case 10:
y = 0;
break;
case 11:
y = 1;
break;
default:
alert('неверный формат');
break;
}
if (y >= 0) {
// Получаем доступ к первым 3-м индексам user
var x = user.substr(y, 3);
// Прогоняем в цикле все ключи
var op = "Неизвестный оператор";
for (var key in mobile) {
var arr = mobile[key];
// Проходимся по всем массивам
var check = arr.forEach(function(item, i, arr) {
if (x === item) {
op = key;
return;
}
});
}
//Выводим пользователю результат
alert('Вас приветствует '+op);
}
function getTelNums(telStr) {
var regexpNums = /\d/g;
var regexpTel = /^([7|8]{0,1}0\d{2})?\d{7}$/;
var resultTel = "";
var checkNums = telStr.match(regexpNums); // из строки пользователя получаем массив цифр
if (checkNums) {
// если массив не пустой
// сделаем из него строку:
for (var j = 0; j < checkNums.length; j++) resultTel += checkNums[j];
// проверим, телефон ли это:
if (!regexpTel.test(resultTel)) {
resultTel = "";
}
}
return resultTel;
}
Комментариев нет:
Отправить комментарий