L'utilisation d'expressions régulières pour vérifier les numéros de téléphone mobile dans Golang peut être réalisée grâce au package d'expressions régulières intégré. Pour vérifier l'emplacement d'un numéro de téléphone mobile, vous devez utiliser une interface ouverte tierce, telle que l'interface de requête de localisation de numéro de téléphone mobile fournie par Taobao Open Platform. Ce qui suit est une implémentation simple :
import ( "regexp" "net/http" "io/ioutil" "encoding/json" ) type TaobaoResult struct { Code int `json:"code"` Data struct { City string `json:"city"` } `json:"data"` }
var phoneRegex = regexp.MustCompile(`^1[3456789]d{9}$`) func isPhoneValid(phone string) bool { return phoneRegex.MatchString(phone) }
func getPhoneLocation(phone string) (string, error) { if !isPhoneValid(phone) { return "", fmt.Errorf("invalid phone number: %s", phone) } url := fmt.Sprintf("https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=%s", phone) resp, err := http.Get(url) if err != nil { return "", err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return "", err } result := &TaobaoResult{} json.Unmarshal(body, result) if result.Code != 0 { return "", fmt.Errorf("error code: %d", result.Code) } return result.Data.City, nil }
func main() { phone := "13812345678" location, err := getPhoneLocation(phone) if err != nil { fmt.Printf("failed to get location of %s: %s ", phone, err.Error()) } else { fmt.Printf("%s belongs to %s ", phone, location) } }
Le code ci-dessus implémente la fonction d'utilisation d'expressions régulières pour vérifier un numéro de téléphone mobile et interroger son emplacement. Cependant, il convient de noter que puisque cette implémentation repose sur une interface ouverte tierce, vous devez faire attention à la limite de fréquence d'accès de l'interface et à la situation des changements d'interface. Dans le même temps, cette implémentation n'est qu'un exemple, et une gestion des erreurs et une optimisation des requêtes d'interface plus sophistiquées peuvent être nécessaires dans les applications réelles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!