ホームページ  >  記事  >  バックエンド開発  >  golangで正規表現を使用してID番号を確認する方法

golangで正規表現を使用してID番号を確認する方法

王林
王林オリジナル
2023-06-24 09:00:071512ブラウズ

開発において、ID 番号の正規表現検証は非常に一般的な要件です。 Go 言語には正規表現ライブラリも組み込まれているため、正規表現を使用して ID 番号の検証を簡単に行うことができます。この記事では、golangで正規表現を使ってID番号を確認する方法を紹介します。

1. ID 番号の基本ルール

ID 番号を検証する前に、ID 番号の基本ルールを理解する必要があります。中国本土の ID 番号は 18 桁で構成され、最後の桁は数字または文字 X です。このうち、最初の17桁が住所コードと生年月日コード、最後の1桁がチェックコードです。具体的なルールは次のとおりです:

  1. 住所コードの最初の 6 桁は、そのコードが所在する省、自治区、または市区町村を示し、
  2. 7 桁から 14 桁は、住所コードの出生時間を示します。
  3. 住所コードの 15 桁目から 17 桁目は、地元の警察署を示します。
  4. ##最後の桁は、確認に使用されるチェック コードです。 ID番号が正しいかどうか。
2. 正規表現を使用して ID 番号を確認する

Go 言語で regexp パッケージを使用すると、正規表現の機能を実装できます。 ID 番号の検証では、次の正規表現を使用して検証できます。

^(d{15}$|d{18}$|d{17}(d|X|x))$

この正規表現の意味は次のとおりです。

    ^ は文字列の開始位置を表します
  • d は数値を表します
  • {15} は 15 回繰り返された前の数値を表します
  • $ は文字列の終了位置を表します
  • | は論理 OR 関係を表します
  • (d|X|x) は、数字または文字 X または x
この正規表現を使用して、ID 番号の基本的な検証を実行します。次のコードでは、この正規表現を使用して ID 番号の正確さを検証できます。コード例は次のとおりです:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    testID1 := "130503670401001"
    testID2 := "130503670401001232"
    testID3 := "13050367040100"
    testID4 := "13050367040100123X"

    if checkID(testID1) {
        fmt.Printf("%s 校验通过!
", testID1)
    } else {
        fmt.Printf("%s 校验失败!
", testID1)
    }

    if checkID(testID2) {
        fmt.Printf("%s 校验通过!
", testID2)
    } else {
        fmt.Printf("%s 校验失败!
", testID2)
    }

    if checkID(testID3) {
        fmt.Printf("%s 校验通过!
", testID3)
    } else {
        fmt.Printf("%s 校验失败!
", testID3)
    }

    if checkID(testID4) {
        fmt.Printf("%s 校验通过!
", testID4)
    } else {
        fmt.Printf("%s 校验失败!
", testID4)
    }
}

func checkID(id string) bool {
    reg := regexp.MustCompile(`^(d{15}$|d{18}$|d{17}(d|X|x))$`)
    return reg.MatchString(id)
}

上記のコードを実行すると、次の出力が得られます:

130503670401001 校验通过!
130503670401001232 校验失败!
13050367040100 校验失败!
13050367040100123X 校验通过!

3. 結論

この記事では、正規表現を使用して検証する方法を紹介します。 golang 番号の ID カード。組み込みの正規表現ライブラリを使用することで、さまざまな形式での ID 番号検証を簡単に実装できます。実際の開発では、検証が必要なID番号をcheckID関数に渡すだけで、そのID番号が正当であるかどうかの検証結果が得られます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。