Support mobile in DingTalk userinfo

This commit is contained in:
Yang Luo
2023-04-29 01:11:58 +08:00
parent fba4801a41
commit 3a6ab4cfc6
4 changed files with 32 additions and 4 deletions

View File

@ -15,6 +15,7 @@
package util
import (
"fmt"
"net/mail"
"regexp"
@ -48,3 +49,21 @@ func GetE164Number(phone string, countryCode string) (string, bool) {
phoneNumber, _ := phonenumbers.Parse(phone, countryCode)
return phonenumbers.Format(phoneNumber, phonenumbers.E164), phonenumbers.IsValidNumber(phoneNumber)
}
func GetCountryCode(prefix string, phone string) (string, error) {
if prefix == "" || phone == "" {
return "", nil
}
phoneNumber, err := phonenumbers.Parse(fmt.Sprintf("+%s%s", prefix, phone), "")
if err != nil {
return "", err
}
countryCode := phonenumbers.GetRegionCodeForNumber(phoneNumber)
if countryCode == "" {
return "", fmt.Errorf("country code not found for phone prefix: %s", prefix)
}
return countryCode, nil
}