Javascript.RU

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

Это template ячейки грида, возможно сюда прикрутить маску?
Ответить с цитированием
  #12 (permalink)  
Старый 03.08.2017, 11:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

AlexTrader,
разбейте строку рег. выражением начиная справа по две цифры, кроме крайней слева, где одна. Первая слева и две следующие справа по правилу 0 или 1/2 соответственно. Останется проверить у этого среза массива (с первого) чему равен первый его элемент (пусто или номер) и сформировать.
Ответить с цитированием
  #13 (permalink)  
Старый 03.08.2017, 12:03
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Сообщение от laimas Посмотреть сообщение
AlexTrader,
разбейте строку рег. выражением начиная справа по две цифры, кроме крайней слева, где одна. Первая слева и две следующие справа по правилу 0 или 1/2 соответственно. Останется проверить у этого среза массива (с первого) чему равен первый его элемент (пусто или номер) и сформировать.
Нельзя ли немного подробнее для особо "одарённых"?))
Ответить с цитированием
  #14 (permalink)  
Старый 03.08.2017, 12:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

function formatPhone(phone) {
    phone = phone.match(/(\d{0,1})(\d{0,2})(\d{0,2})(\d{2})(\d{2})(\d{2})$/).slice(1);
    return (phone[0] ? '+7(' + phone.slice(1,3).join('') + ')' : '') + phone.slice(-3).join('-')
}


Если какие-то еще проверки нужны, добавить, иначе срез можно брать начиная и со второго элемента, так как все равно всегда с +7.
Ответить с цитированием
  #15 (permalink)  
Старый 03.08.2017, 14:20
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

laimas, но телефоны разные приходят: 89278654321, 88443454545, 454545, а на выходе нужно: +7(927)865-43-21, +7(8443)45-45-45, +7(8443)45-45-45 (если не указан код города то по умолчанию ставим 8443)
Ответить с цитированием
  #16 (permalink)  
Старый 03.08.2017, 15:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от AlexTrader
а на выходе нужно: +7(927)865-43-21, +7(8443)45-45-45, +7(8443)45-45-45
Так проверяйте, кто же вам запрещает. Может вместо номера вообще прийти непотребное, это ведь тоже надо проверять, по крайней мере первая строка должны быть такой:

if(!(phone = phone.replace(/\D/g, '')).length) {
    alert('Error');
    return
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор номера телефона через 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