Golang では、正規表現を使用して、入力が中国本土の居住者 ID 番号であるかどうかを確認します。これを実現するには、Go 言語に組み込まれている正規表現ライブラリ regexp の正規表現マッチング関数 MatchString() を使用できます。
中国本土の住民 ID カード番号は 18 桁の数字と文字で構成されており、最初の 17 桁は市外局番と生年月日、最後の桁はチェック コードです。入力が有効な ID 番号であるかどうかを検証するには、ID 番号の形式要件を満たしているかどうかを検証する必要があります。
次は、入力が ID 番号の形式要件を満たしているかどうかを照合するために使用される基本的な正規表現です:
^([1-9]\d{5})(\d{4})(0[1-9]|1[0-2])([0-2][1-9]|[1-3]\d|4[0-6]|5[0-2])(\d{3})(\d|[Xx])$
このうち、^ は入力文字列の先頭を表し、$ は入力文字列の先頭を表します。入力文字列 末尾の()は以下の部分を照合することを示します。
上記の正規表現をコードに書き込みます:
func isIDCardNumber(str string) bool { regIDCard := "^([1-9]\d{5})(\d{4})(0[1-9]|1[0-2])([0-2][1-9]|[1-3]\d|4[0-6]|5[0-2])(\d{3})(\d|[Xx])$" reg := regexp.MustCompile(regIDCard) return reg.MatchString(str) }
上記のコードでは、Regexp.MustCompile() メソッドを使用して正規表現を Regexp インスタンスにコンパイルします。 reg .MatchString() メソッドを使用して入力文字列と一致させます。
最後に、プログラムでこの関数を使用して、入力が有効な ID 番号であるかどうかを確認します:
func main() { idCardNumber := "411281199601017891" // 合法身份证号码 if isIDCardNumber(idCardNumber) { fmt.Println("输入是有效的身份证号码") } else { fmt.Println("输入不是有效的身份证号码") } }
つまり、Golang の正規表現を使用して、中国本土の居住者 ID 番号を確認します。入力の合法性と正確性を保証し、より完全なアプリケーションを開発するための強固な基盤を築きます。
以上がgolang で正規表現を使用して、入力が中国本土の居住者 ID 番号であるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。