IDカード番号は、17桁のボディコードと1桁のチェックコードで構成される特徴的な組み合わせコードです。
左から右へ、6桁の住所コード、8桁の生年月日コード、3桁のシーケンスコード、1桁のチェックコードの順です。
住所コード(最初の6桁)
は、コーディング対象が所在する郡(市、旗、地区)の永住権のある行政区画コードを表し、 GB/T2260 の規定に従って実装されます。
生年月日コード(7桁目から14桁目)
は、エンコーディングオブジェクトの誕生年、月、日を表し、GB/T7408の規定に従って実装されます。年、月、日のコード。
連番(15~17桁目)
は、同じ住所コードで特定される地域内で同じ年、同じ月、同じ日に生まれた人に割り当てられる連番を表します。男性には偶数番号が割り当てられます。
チェックコード(18桁目)
1. 17桁のオントロジーコードの加重加算式
S= SUM(Ai * Wi), i=0, ... , 16, first の重みを合計します。最初の 17 桁。
Ai:i番目のID番号のデジタル値を表します
Wi:i番目の重み係数を表します
Wi:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2. モジュール
Y = mod(S, 11)
3. モジュールを通じて対応するチェックコード
Y を取得します: 0 1 2 3 4 5 6 7 8 9 10
コード検証: 1 0
以上がPHP ID番号検証関数サンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。