1C: нормализация номера сотового телефона
Зачастую бывает так, что в поля, в которых не была предусмотрена валидация данных, вносят данные как бог на душу положит. И в результате получается не пойми что. Данная функция пытается нормализовать номера телефонов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Функция ПроверитьКорректностьТелефона(телефона) экспорт телефон=телефона; 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 — нормализованый номер телефона