Go 言語で正規表現を使用して電話番号を照合する方法

PHPz
リリース: 2023-07-12 09:55:36
オリジナル
1839 人が閲覧しました

Go 言語で正規表現を使用して電話番号を照合する方法

はじめに:
日常の開発では、入力された電話番号が仕様を満たしていることを確認するために、電話番号の形式を変更することが必要になることがよくあります。 Go 言語は強力な正規表現サポートを提供しており、電話番号の照合と検証を簡単かつ効率的に実装できます。この記事では、正規表現を使用して Go 言語で電話番号を照合する方法とコード例を紹介します。

1. Go 言語における正規表現の基本的な使用法
正規表現は、文字列内の特定のパターンのテキストをすばやく検索するために使用できる強力なパターン マッチング ツールです。 Go 言語では、正規表現関連の操作は regexp パッケージにカプセル化されます。正規表現を使用するには、まず regexp パッケージをインポートする必要があります:

import "regexp"

次に、regexp パッケージの Compile 関数を呼び出して正規表現をコンパイルできます:

regexp.Compile(pattern string)

このうち、pattern は照合対象の正規表現文字列で、Compile 関数は後続の照合操作のために Regexp オブジェクトを返します。

2. 電話番号を照合するための正規表現
電話番号の形式は国や地域によって異なりますので、この記事では中国本土の電話番号形式を例に挙げています。中国本土の電話番号は通常、13812345678 のように 1 から始まる 11 桁です。このルールに従って、電話番号を照合するために次の正規表現を書くことができます:

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

where, ^ は行頭、1 は 1 から始まること、[3456789] は 2 桁目が 3、4、5、6、7、8、9 の数字であること、d{9} は次の 9 であることを示します。桁は任意の数値で、$ は行の終わりを示します。このように、正規表現全体は、1 で始まる 11 桁の電話番号のみと一致することを意味します。

3. Go 言語で正規表現を使用して電話番号を照合するサンプル コード
次は、正規表現を使用して 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, "不是有效的电话号码")
        }
    }
}
ログイン後にコピー

上記のコードを実行すると、出力結果は次のようになります:

13812345678 是有效的电话号码
18588888888 是有效的电话号码
13612345678 是有效的电话号码
13312345678 是有效的电话号码
12345678901 不是有效的电话号码
ログイン後にコピー

実行結果から、最初の 4 つの電話番号は正規表現の一致ルールに準拠しているが、最後の電話番号は一致していることがわかります。ルールを守らない。

結論:
この記事では、正規表現を使用して Go 言語で電話番号を照合する方法を紹介します。適切な正規表現を記述することで、ユーザーが入力した電話番号が仕様に準拠しているかどうかをすぐに検証できます。実際の開発では、正規表現を注意深く作成してテストし、目的のパターンが正確に一致することを確認してください。

以上がGo 言語で正規表現を使用して電話番号を照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート