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

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

王林
リリース: 2023-06-24 09:00:07
オリジナル
1801 人が閲覧しました

開発において、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 番号の検証では、次の正規表現を使用して検証できます。

1

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

ログイン後にコピー

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

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)

}

ログイン後にコピー

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

1

2

3

4

130503670401001 校验通过!

130503670401001232 校验失败!

13050367040100 校验失败!

13050367040100123X 校验通过!

ログイン後にコピー

3. 結論

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

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

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