開発において、ID 番号の正規表現検証は非常に一般的な要件です。 Go 言語には正規表現ライブラリも組み込まれているため、正規表現を使用して ID 番号の検証を簡単に行うことができます。この記事では、golangで正規表現を使ってID番号を確認する方法を紹介します。
1. ID 番号の基本ルール
ID 番号を検証する前に、ID 番号の基本ルールを理解する必要があります。中国本土の ID 番号は 18 桁で構成され、最後の桁は数字または文字 X です。このうち、最初の17桁が住所コードと生年月日コード、最後の1桁がチェックコードです。具体的なルールは次のとおりです:
^(d{15}$|d{18}$|d{17}(d|X|x))$この正規表現の意味は次のとおりです。
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 サイトの他の関連記事を参照してください。