Книга знаний |
|
1С:Предприятие / Приемы программирования / Встроенный язык |
|
Например, есть необходимость имеющийся номер телефона "9031234523" или "+79031234567"
преобразовать к формату "+7 (903) 123 45 67". Как это легко и быстро сделать штатными средствами 1С без использования регулярных выражений | Автор статьи: askharlov | Редакторы: Последняя редакция №3 от 01.11.17 | История URL: http://kb.mista.ru/article.php?id=953 |
МаскаТелефона = ЭлементыФормы.Телефон.Маска;
КвоЦифрВМаске = 0;
Если НЕ ПустаяСтрока(МаскаТелефона) Тогда
Для НомерСимволаМаски = 1 По СтрДлина(МаскаТелефона) Цикл
ТекущийСимволМаски = Сред(МаскаТелефона, НомерСимволаМаски, 1);
Если ТекущийСимволМаски = "9" Тогда
КвоЦифрВМаске = КвоЦифрВМаске + 1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если КвоЦифрВМаске = 0 Тогда
ТелефонДляМаски = НомерТелефона;
Иначе
ТелефонДляМаски = Прав(НомерТелефона, КвоЦифрВМаске);
КонецЕсли;
ЭлементыФормы.Телефон.Значение = ТелефонДляМаски; // применяем маску
НомерТелефонаСМаской = ЭлементыФормы.Телефон.Значение; // получаем строку с маской
Описание
| Рубрикатор
| Поиск
| ТелепатБот
| Захваченные статьи
| Установки
| Форум
|