Web サイトの開発プロセスでは、ユーザーが入力したデータを検証する必要があることがよくありますが、それに含まれる ID 番号の検証は非常に重要です。 ID 番号は個人を証明する唯一の証明書であり、ID 番号の正確性を確認することが重要です。この記事では、PHP 正規表現を使用して ID 番号の正確性を検証する方法を紹介します。
ID 番号の基本ルール
ID 番号は 18 桁の数字と文字 (X) で構成され、最初の 17 桁は固定形式で、最後の 1 桁は数字または "バツ" "。 ID番号の最初の6桁は市外局番、真ん中の8桁は生年月日、最後の4桁は地域、性別、通し番号からなるチェックコードです。このうち、市外局番、生年月日、チェックコードには一定のルールがあります。
ID 番号の確認
PHP の preg_match 関数を使用すると簡単に ID 番号を確認できます。 preg_match 関数の最初のパラメータは一致する正規表現で、2 番目のパラメータは一致する文字列です。以下は例です:
$pattern = '/^d{17}[Xd]$/';
$id = '110101199001011234'; //検証するID番号
if (preg_match($pattern, $id)) {
//身份证号码格式正确
} else {
//身份证号码格式错误
}
上記のコードでは、正規表現 $pattern を使用して ID を検証します。証明書番号。これは、ID 番号が 17 桁と数字または文字「X」で構成される必要があることを示します。次に、ID 番号の各部分がどのように一致する必要があるかを詳しく説明します。
一致する市外局番
ID 番号の最初の 6 桁は市外局番で、ID 番号が存在する行政区画を示します。このうち、最初の 2 桁は州を表し、最後の 4 桁は市または郡を表します。市外局番は州によって一律に割り当てられ、各行政区画には対応するコードがあります。
次の正規表現を使用して市外局番を照合できます:
$area_pattern = '/^([1-9]d|([1-9][0-9]) d{4})$/';
$area_code = substr($id, 0, 6); //ID 番号から市外局番の最初の 6 桁を取得します
if (preg_match($area_pattern, $area_code )) {
//区域代码格式正确
} else {
//区域代码格式错误
}
上記のコードでは、正規表現 $area_pattern を使用して市外局番を照合します。これは、市外局番が 6 桁である必要があることを示します。 $area_code は、ID 番号から市外局番の最初の 6 桁を抽出するために使用されます。
生年月日照合
ID番号の中8桁が生年月日となり、所有者の生まれた年、月、日を表します。このうち、最初の 4 桁は年、最後の 2 桁は月、最後の 2 桁は日数を表します。生年月日は、現在の年を超えることはできないなど、特定のルールに従う必要があります。
次の正規表現を使用して正しい生年月日と一致させることができます:
$birthday_pattern = '/^((19|20)d{2})(0[1-9 ] |1[012])(0[1-9]|[12][0-9]|3[01])$/';
$誕生日 = substr($id, 6, 8); / / ID 番号から中央 8 桁の生年月日を取得します
if (preg_match($birthday_pattern, $birthday)) {
//出生日期格式正确
} else {
//出生日期格式错误
}
上記のコードでは、正しい生年月日と一致させるために正規表現 $birthday_pattern が使用されています。生年月日は年を表す 4 桁、月を表す 2 桁、および日を表す 2 桁で構成される必要があることを示します。 $birthday は、ID 番号から中央の 8 桁の生年月日を抽出するために使用されます。
照合確認コード
ID番号の下一桁が確認コードで、ID番号が正しいかどうかを確認するために使用されます。チェックコードは地域、性別、連番などの情報から構成される最初の17桁から計算されます。一定のアルゴリズムによりチェックコードを取得し、それがID番号の下一桁と一致すればID番号が正しいことを意味します。
次の正規表現を使用してチェック コードを照合できます:
$check_code_pattern = '/^d{17}[Xd]$/';
if (preg_match($ check_code_pattern, $id)) {
$n = 0; for ($i = 0; $i < 17; $i++) { $n += $id[$i] * pow(2, 17 - $i) % 11; } $check_code = $n % 11 == 1 ? 'X' : (12 - $n % 11); if ($check_code == substr($id, -1)) { //身份证号码校验通过 } else { //身份证号码校验失败 }
} else {
//身份证号码格式错误
}
上記のコードでは、ID 番号が一致することを確認するために正規表現 $check_code_pattern が使用されています。最初の 17 桁の数字と最後の数字または文字「X」。 ID 番号の形式が正しい場合は、特定のアルゴリズムを使用してチェック コード $check_code を計算し、ID 番号の最後の桁と比較します。
概要
この記事では、PHP 正規表現を使用して ID 番号の正確性を確認する方法を紹介します。 ID 番号は唯一の個人識別となるため、Web サイトを開発する場合、ID 番号の確認は非常に重要です。この記事の導入により、誰でも簡単に PHP 正規表現を使用して ID 番号を確認できるようになると思います。
以上がID番号の正確性を検証するためのPHP正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra

toretrievedatafrompsession、Startthessession withsession_start()andAccessvariablesshe $ _SessionArray.forexample:1)Startthessession:session_start()

セッションを使用して効率的なショッピングカートシステムを構築する手順には、次のものがあります。1)セッションの定義と機能を理解します。セッションは、リクエスト全体でユーザーのステータスを維持するために使用されるサーバー側のストレージメカニズムです。 2)ショッピングカートに製品を追加するなど、基本的なセッション管理を実装します。 3)製品の量管理と削除をサポートし、高度な使用状況に拡大します。 4)セッションデータを持続し、安全なセッション識別子を使用することにより、パフォーマンスとセキュリティを最適化します。

この記事では、PHPでインターフェイスを作成、実装、および使用する方法について説明し、コード組織と保守性の利点に焦点を当てています。

この記事では、PHPのCrypt()とpassword_hash()の違いについて、パスワードハッシュの違いについて説明し、最新のWebアプリケーションの実装、セキュリティ、および適合性に焦点を当てています。

記事では、入力検証、出力エンコード、およびOWASP ESAPIやHTML浄化器などのツールを使用して、PHPのクロスサイトスクリプト(XSS)を防止します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









