Menggunakan ungkapan biasa untuk mengesahkan nombor telefon mudah alih dalam golang boleh dicapai melalui pakej regexp terbina dalam. Untuk mengesahkan lokasi nombor telefon mudah alih, anda perlu menggunakan antara muka terbuka pihak ketiga, seperti antara muka pertanyaan lokasi nombor telefon mudah alih yang disediakan oleh Platform Terbuka Taobao. Berikut ialah pelaksanaan mudah:
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) } }
Kod di atas melaksanakan penggunaan ungkapan biasa Sahkan nombor telefon bimbit dan semak lokasinya. Walau bagaimanapun, perlu diingatkan bahawa oleh kerana pelaksanaan ini bergantung pada antara muka terbuka pihak ketiga, anda perlu memberi perhatian kepada had kekerapan capaian antara muka dan perubahan antara muka. Pada masa yang sama, pelaksanaan ini hanyalah satu contoh, dan pengendalian ralat yang lebih canggih dan pengoptimuman permintaan antara muka mungkin diperlukan dalam aplikasi sebenar.
Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa untuk mengesahkan lokasi nombor telefon bimbit di golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!