PHP 正規表現を使用して ID 番号の性別を確認する方法

WBOY
リリース: 2023-06-24 16:24:02
オリジナル
1916 人が閲覧しました

共通ID番号の17桁目は「性別コード」と呼ばれ、IDカード所有者の性別を示すために使用されます。 ID番号の正当性を検証する場合、通常、性別コードの値に基づいて正規表現を用いて判断し、所有者の性別を確認する必要があります。この記事では、PHP 正規表現を使用して ID 番号の性別を確認する方法を紹介します。

1. ID 番号の形式

ID 番号は、18 桁の数字と文字で構成される固有の識別子であり、個人の基本情報や出身地情報が含まれます。具体的な形式は次のとおりです。

6 桁の市外局番 (県、市、郡)、8 桁の生年月日 (YYYYMMDD)、3 桁のシーケンス コード、1 桁の桁のチェック コードこのうち、生年月日の15桁目と16桁目は性別を表しており、奇数が男性、偶数が女性を表します。

2. 正規表現を使用して ID 番号を確認する

PHP を使用して ID 番号を確認する場合、preg_match() 関数と正規表現を使用して ID 番号の有効性を判断できます。 . セックス。以下は、ID 番号の性別を決定するための正規表現の例です:

function check_idcard($idcard){
    $idcard_pattern = '/^d{17}(d|x)$/i';
    if(preg_match($idcard_pattern, $idcard)){
        $sex_bit = substr($idcard, 16, 1);
        if($sex_bit % 2 != 0){
            echo '该身份证号码为男性。';
        }else{
            echo '该身份证号码为女性。';
        }
    }else{
        echo '该身份证号码不正确。';
    }
}
ログイン後にコピー

上記の関数では、最初に正規表現「/^d{17}(d|x)$/」を使用します。 i" を渡します。 ID 番号を照合して、ID 番号の形式要件を満たしているかどうかを判断します。照合に成功すると、ID 番号の 17 桁目が抽出され、パリティに基づいて所有者の性別が判断されます。照合に失敗した場合はエラーメッセージが出力されます。

3. 使用例

ID番号の性別を確認する使用例です:

$idcard = '510123199001011234';
check_idcard($idcard);
ログイン後にコピー

入力されたID番号が「510123199001011234」の場合ID番号 17桁目の「1」は奇数で男性であることを表します。したがって、出力結果は「ID番号は男性です。」となります。

4. 結論

上記の紹介を通じて、PHP 正規表現を使用して ID 番号の性別を確認する方法を学びました。実際の開発では、さまざまなビジネス ニーズに適応するために、必要に応じて正規表現を調整できます。同時に、コードの正確性と安定性を確保するために、ID 番号の形式と有効性にも注意を払う必要があります。

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

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