ホームページ > バックエンド開発 > Python チュートリアル > ID 番号検証に Python 正規表現を使用する方法

ID 番号検証に Python 正規表現を使用する方法

WBOY
リリース: 2023-06-23 09:08:49
オリジナル
3534 人が閲覧しました

ID カード番号は、私たちが日常生活で頻繁に使用する識別記号です。 ID 情報に関連する一部のデータを処理する場合、その正当性を保証するために ID 番号を検証する必要があることがよくあります。 Python の正規表現は、ID 番号を迅速に検証するために使用できる、非常に便利で効率的なツールです。この記事では、Python 正規表現を使った ID 番号検証の方法を紹介します。

1. ID 番号の基本形式

正規表現を書き始める前に、まず ID 番号の基本形式を理解する必要があります。中国の住民身分証番号は 18 桁で構成されており、最初の 17 桁が地域コードと生年月日、18 桁がチェックコードです。具体的な形式は次のとおりです:

  1. 最初の 1 ~ 6 桁は戸籍のある行政区域を示す住所コード、
  2. の 7 ~ 14 桁は住所コードです。は個人の生年月日を示す日月日コード、
  3. の15~17桁目は住所コード領域のIDカードの通し番号を示すシーケンスコード、
  4. の18桁目はチェックコードで、IDカード番号全体が仕様を満たしているかを確認するために使用されます。

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

次に、Python 正規表現を使用して ID 番号を確認する方法を紹介します。

(1) re モジュールの導入

Python を使用して正規表現を作成および照合する場合、最初に re モジュールを導入する必要があります。構文は次のとおりです。 # (2 ) 正規表現の記述

ID 番号の正規表現を記述する場合は、次の点に注意する必要があります。

ID 番号の長さは 18 桁である必要があります。 、そうでない場合は無効と判断されます;
  1. 最初の 17 桁は数字でなければならず、最後の桁は数字または文字にすることができます。合計した結果を 11 で割って、余りに相当する数字は次のようになります。チェックコード。余りが 10 の場合、チェック コードは文字 X になります。
  2. 上記の要素に基づいて、次の正規表現を書くことができます:
  3. import re
    ログイン後にコピー
  4. このうち、r は文字列が元の文字列であることを表し、^ は一致の始まりを表します。文字列、$ は一致する文字列の末尾を表し、[] は一致する範囲を表し、d は一致する数字を表し、{n} は先頭の n 文字の一致を表し、| は複数のパターンの一致を表し、X は文字 X を表します (大文字が必要) 。

(3) re モジュールを使用して照合する

正規表現を記述した後、re モジュールの match() 関数を使用して照合できます。構文は次のとおりです。 #

pattern = r'^[1-9]d{5}[1-9]d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2]d|3[0-1])d{3}[dX]$'
ログイン後にコピー

このうち、pattern は正規表現、string は照合する必要がある文字列、flags パラメーターは照合モードを設定できます (re.IGNORECASE は、大文字と小文字を無視することを示すためによく使用されます)。

完全な Python コード例を以下に示します。

re.match(pattern, string, flags=0)
ログイン後にコピー
上記のコードを実行すると、出力結果は「ID 番号は正当です!」となり、ID 番号が規則に準拠していることを示します。仕様。

3. まとめ

この記事では主にPython正規表現を使ったID番号検証の方法を紹介します。実際のアプリケーションでは、必要に応じて正規表現を調整して、さまざまなデータ検証要件に適応できます。同時に、プログラムのパフォーマンスと安定性を確保するために、正規表現の作成とマッチングの効率にも注意を払う必要があります。

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

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