1C: нормализация номера сотового телефона
Зачастую бывает так, что в поля, в которых не была предусмотрена валидация данных, вносят данные как бог на душу положит. И в результате получается не пойми что. Данная функция пытается нормализовать номера телефонов.
Функция ПроверитьКорректностьТелефона(телефона) экспорт
телефон=телефона;
answer=Новый Структура("error,result,errortxt,code",false,"","",0);
телефон=СтрЗаменить(телефон," ","");
телефон=СтрЗаменить(телефон,"(","");
телефон=СтрЗаменить(телефон,")","");
телефон=СтрЗаменить(телефон,"-","");
телефон=СтрЗаменить(телефон,"+","");
если СтрДлина(телефон)=10 тогда телефон="7"+телефон;конецесли;
если СтрДлина(телефон)=11 тогда
если Лев(телефон, 1)="8" тогда
телефон=Сред(телефон,2);
телефон="7"+телефон;
конецесли;
конецесли;
если СтрДлина(телефон)<>11 тогда
answer.error=true;
answer.errortxt="Не верный номер телефона";
answer.code=501;
конецесли;
answer.result=телефон;
возврат answer;
конецфункции
На выходе: answer.error true/false. Если false, то в answer.result — нормализованый номер телефона