Maison > développement back-end > Golang > Comment utiliser des expressions régulières pour vérifier la propriété du numéro de téléphone mobile dans Golang

Comment utiliser des expressions régulières pour vérifier la propriété du numéro de téléphone mobile dans Golang

WBOY
Libérer: 2023-06-24 09:16:52
original
1329 Les gens l'ont consulté

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 :

  1. Importez les packages et les structures de définition nécessaires
import (
    "regexp"
    "net/http"
    "io/ioutil"
    "encoding/json"
)

type TaobaoResult struct {
    Code int `json:"code"`
    Data struct {
        City string `json:"city"`
    } `json:"data"`
}
Copier après la connexion
  1. Définissez les expressions régulières et les fonctions de correspondance des numéros de téléphone mobile
var phoneRegex = regexp.MustCompile(`^1[3456789]d{9}$`)

func isPhoneValid(phone string) bool {
    return phoneRegex.MatchString(phone)
}
Copier après la connexion
  1. Définissez les fonctions de requête d'emplacement de numéro de téléphone mobile
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
}
Copier après la connexion
  1. Test du code
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)
    }
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal