Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara memadankan nombor telefon menggunakan ungkapan biasa dalam bahasa Go

Cara memadankan nombor telefon menggunakan ungkapan biasa dalam bahasa Go

PHPz
PHPzasal
2023-07-12 09:55:361842semak imbas

Cara menggunakan ungkapan biasa untuk memadankan nombor telefon dalam bahasa Go

Pengenalan:
Dalam pembangunan harian, selalunya perlu memformat nombor telefon untuk memastikan nombor telefon input memenuhi spesifikasi. Bahasa Go menyediakan sokongan ungkapan biasa yang berkuasa, yang boleh melaksanakan padanan dan pengesahan nombor telefon dengan mudah dan cekap. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk memadankan nombor telefon dalam bahasa Go dan memberikan contoh kod.

1. Penggunaan asas ungkapan biasa dalam bahasa Go
Ungkapan biasa ialah alat padanan corak yang berkuasa yang boleh digunakan untuk mencari teks corak tertentu dalam rentetan dengan cepat. Dalam bahasa Go, operasi berkaitan ungkapan biasa dirangkumkan dalam pakej regexp. Untuk menggunakan ungkapan biasa, anda perlu mengimport pakej regexp terlebih dahulu:

import "regexp"

Kemudian, anda boleh menyusun ungkapan biasa dengan memanggil fungsi Compile dalam pakej regexp:

regexp.Compile(rentetan corak)

di mana , corak ialah rentetan ungkapan biasa yang akan dipadankan dan fungsi Compile akan mengembalikan objek Regexp untuk operasi pemadanan berikutnya.

2. Ungkapan biasa untuk nombor telefon yang sepadan
Format nombor telefon berbeza-beza di negara dan wilayah yang berbeza Artikel ini mengambil format nombor telefon tanah besar China sebagai contoh. Nombor telefon di tanah besar China biasanya 11 digit bermula dengan 1, seperti: 13812345678. Mengikut peraturan ini, kita boleh menulis ungkapan biasa berikut untuk memadankan nombor telefon:

corak := ^1[3456789]d{9}$

di mana, ^ bermaksud permulaan baris, 1 bermakna bermula dengan 1, [3456789] bermakna digit kedua ialah 3 atau 4 , nombor antara 5, 6, 7, 8 dan 9, d{9} bermakna 9 digit seterusnya ialah sebarang nombor dan $ bermaksud penghujung baris. Dengan cara ini, keseluruhan ungkapan biasa bermakna ia hanya akan sepadan dengan nombor telefon yang 11 digit dan bermula dengan 1.

3. Contoh kod untuk menggunakan ungkapan biasa untuk memadankan nombor telefon dalam bahasa Go
Berikut ialah contoh kod yang menunjukkan cara menggunakan ungkapan biasa untuk memadankan nombor telefon dalam bahasa Go:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    phoneNumbers := []string{
        "13812345678",
        "18588888888",
        "13612345678",
        "13312345678",
        "12345678901",
    }

    pattern := `^1[3456789]d{9}$`
    r, _ := regexp.Compile(pattern)

    for _, phoneNumber := range phoneNumbers {
        if r.MatchString(phoneNumber) {
            fmt.Println(phoneNumber, "是有效的电话号码")
        } else {
            fmt.Println(phoneNumber, "不是有效的电话号码")
        }
    }
}

Jalankan kod di atas, hasil output adalah seperti berikut :

13812345678 是有效的电话号码
18588888888 是有效的电话号码
13612345678 是有效的电话号码
13312345678 是有效的电话号码
12345678901 不是有效的电话号码

Anda boleh melihat daripada hasil yang dijalankan bahawa empat nombor telefon pertama mematuhi peraturan padanan ungkapan biasa, dan nombor telefon terakhir tidak mematuhi peraturan.

Kesimpulan:
Artikel ini menerangkan cara menggunakan ungkapan biasa untuk memadankan nombor telefon dalam bahasa Go. Dengan menulis ungkapan biasa yang sesuai, anda boleh dengan cepat mengesahkan bahawa nombor telefon yang dimasukkan oleh pengguna mematuhi spesifikasi. Dalam pembangunan sebenar, ingat untuk menulis dan menguji ungkapan biasa dengan teliti untuk memastikan corak yang dikehendaki dipadankan dengan tepat.

Atas ialah kandungan terperinci Cara memadankan nombor telefon menggunakan ungkapan biasa dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn