Можете помочь с функцией
/////Функция проверяет номер на валидность
func check_num(client int , id_dispach int) {
/*
Могут поступить номера
+79095876084
79095876084
89095876084
*/
fmt.Println("Проверяю номер на валидность . Номер который поступил в систему ",client)
// проверяю формат номеров
match_kz, _ := regexp.MatchString("^[+0-9]{1}{11,12}$", client) ///регулярка онлайк конструктор https://uiregex.com/ru
match_rus, _ := regexp.MatchString("^[+0-9]{1}{11,12}$", client) ///регулярка онлайк конструктор https://uiregex.com/ru
// как замена множественным if elseif
switch {
case match_kz:
fmt.Println("Номер Казахстан",client,id_dispach)
case match_rus:
fmt.Println("Номер Россия",client,id_dispach)
default: ///если не попал ни под одно условие уйду сюда
fmt.Println("Номер не коректный",client,id_dispach)
return err
}
}
как мне после того как проверил номер на то что он подходит под case конвертировать номер под единый формат
Например в диалплане я это сделал так через регулярку
<extension name="out">
<condition field="destination_number" expression="^(?:\+)?(?:[7,8])?72(\d{8})$">
<action application="bridge" data="{leg_timeout=40,ignore_early_media=true}sofia/gateway/goip16/007872$1"/>
</condition>
</extension>
Тоесть как мне сделать чтобы номер передавался всегда в формате
79095876084