Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2017, 07:41
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Варианты форматирования номера телефона
Доброго времени суток, форумчане! Как отформатировать различные номера телефонов? Есть функция, форматирует только мобильный телефон, и шестизначный, возможно ли её сделать более универсальной, например pair1 и pair2 рассчитывать от конца номера, тогда привязка к длине номера не нужна будет.
function formatPhone(phone) {
        if (phone.length === 11) {
            var countryCode = phone.slice(0, 1);
            var operatorCode = phone.slice(1, 4);
            var triade = phone.slice(4, 7);
            var pair1 = phone.slice(7, 9);
            var pair2 = phone.slice(9, 11);
            return "+"+countryCode + "(" + operatorCode + ")" + triade + "-" + pair1 + "-" + pair2;
        }
        if (phone.length === 6) {
            var countryCode = "7";
            var cityCode = "8443";
            var pair1 = phone.slice(0, 2);
            var pair2 = phone.slice(2, 4);
            var pair3 = phone.slice(4, 6);
            return "+" + countryCode + "(" + cityCode + ")" + pair1 + "-" + pair2 + "-" + pair3;
        }
        return phone;
    };
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2017, 07:45
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Если приходит номер 88443454545 то должно отформатироваться так: +7(8443)45-45-45, а на деле форматируется как сотовый номер: +7(844)345-45-45, захарткодить код города не самая удачная идея, коды городов разные приходят...
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2017, 09:30
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Загугли «jquery mask»
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2017, 09:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от AlexTrader
Если приходит номер 88443454545
Земляк?
Или код города случайно взял?
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2017, 09:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

ksa,
взломали, и завтра позвонят из "полиции" и скажут, что ваш сын/брат/дочь/сестра задержан за преступление, но можно договорится. )
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2017, 10:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

laimas, это номер "Водопроводно-канализационное хозяйство".
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2017, 10:26
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Сообщение от ksa Посмотреть сообщение
Земляк?
Или код города случайно взял?
Случайно взял
Ответить с цитированием
  #8 (permalink)  
Старый 03.08.2017, 10:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от ksa
это номер "Водопроводно-канализационное хозяйство"
крепко влипли ребята.
Ответить с цитированием
  #9 (permalink)  
Старый 03.08.2017, 10:28
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Сообщение от Nexus Посмотреть сообщение
Загугли «jquery mask»
Мне этот вариант не подходит... Там маска привязывается к input, а я делаю template к гриду, который должен вернут отформатированную строку
Ответить с цитированием
  #10 (permalink)  
Старый 03.08.2017, 10:30
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Хотя возможно как то можно... Вот код в котором вызываю вышеописанную функцию
app.fioWithPhoneTpl = function (row) {
        return "<div><span style='float: left;'>" + formatFio(row.clientFio) + "</span><span style='float: right;'>" + formatPhone(row.clientPhone) + "</span></div>";
    };
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор номера телефона через select и кнопка позвонить Exhaust_ Элементы интерфейса 11 08.08.2016 22:35
Проверка поля номера телефона iskander83 Общие вопросы Javascript 2 14.05.2013 15:22
Проверка номера телефона VetalMan23 Общие вопросы Javascript 14 27.11.2012 12:42
Проверка номера телефона при помощи регулярок Amateur Javascript под браузер 3 20.10.2011 13:34
Проверка поля Номер телефона zhuzha Общие вопросы Javascript 7 12.05.2010 16:40