ホームページ バックエンド開発 PHPチュートリアル PHP 正規表現を使用して、入力文字列が正しい電子メール アドレスであるかどうかを確認する方法

PHP 正規表現を使用して、入力文字列が正しい電子メール アドレスであるかどうかを確認する方法

Jun 24, 2023 pm 05:03 PM
php 正規表現 電子メールアドレス

インターネットの発展に伴い、電子メールは人々の日常生活に欠かせないものになりました。 Web サイト開発では、ユーザーが入力した電子メール アドレスを検証することは必要かつ一般的な操作です。この記事では、PHP 正規表現を使用して、入力された文字列が正しいメール アドレスであるかどうかを確認する方法を紹介します。

  1. 正規表現を理解する

正規表現は、文字パターンを照合するために使用されるツールです。 PHP では、preg_match() 関数を使用して文字列の規則的な一致を実現します。構文は次のとおりです。

preg_match($pattern, $subject, $matches);
ログイン後にコピー

ここで、$pattern は正規表現、$subject は照合する必要がある文字列、$matches は照合結果です。この関数は 1 または 0 を返し、それぞれ一致の成功と失敗を示します。

  1. 電子メール アドレスの形式を指定する

電子メール アドレスを確認する前に、まず正しい電子メール アドレスの形式を明確にする必要があります。一般に、法的な電子メール アドレスは次の要件を満たす必要があります。

  • 電子メール アドレスは「@」記号で 2 つの部分に分割され、左半分はユーザー名、右半分はユーザー名です。メールサーバー (ドメイン名とホスト名を含む)。
  • ユーザー名には @ 記号を含めることはできません。また、ピリオド「.」で開始または終了することもできません。
  • ドメイン名は、1 つ以上のピリオド「.」で区切られた 1 つ以上の文字で構成されます。
  • 最後のドメイン名セグメントは、「com」、「cn」、「org」などを含むトップレベルのドメイン名です。
  1. 正規表現の記述

法的な電子メール アドレスの形式を理解した後、ルールに従って正規表現を記述できます。メール アドレスを検証するための一般的な正規表現は次のとおりです。

$pattern = '/^[w-.]+@([w-]+.)+[a-zA-Z]{2,4}$/';
ログイン後にコピー

このうち、^ は正規表現で始まる必要があることを意味し、$ は正規表現で終わる必要があることを意味します。 [w-.] はユーザー名を表し、英文字、数字、アンダースコア、ダッシュ、ピリオドの 1 つ以上の連続文字を使用できます。 @は区切り文字を表します。 ([w-] .) はドメイン名を表し、複数の文字、数字、アンダースコア、およびダッシュの後に 1 つ以上のピリオドが続く文字列です。最後に、[a-zA-Z]{2,4} はトップレベル ドメイン名を表し、2 ~ 4 文字のみで構成できます。

  1. 実装コード

正規表現を記述した後、それを PHP コードで使用して電子メール アドレスを確認できます。以下は、preg_match() 関数を使用して入力文字列を検証する PHP コードです:

$email = $_POST['email'];
$pattern = '/^[w-.]+@([w-]+.)+[a-zA-Z]{2,4}$/';
if (preg_match($pattern, $email)) {
    echo "邮箱地址正确!";
} else {
    echo "邮箱地址不正确!";
}
ログイン後にコピー

まず、$_POST[] を通じてユーザーが入力した電子メール アドレスを取得し、$email 変数に保存します。 。次に、上記の正規表現を使用して、入力文字列が正しい電子メール アドレスであるかどうかを判断します。一致した場合は「メールアドレスが正しいです!」、一致しなかった場合は「メールアドレスが違います!」と出力されます。

    #結論
この記事では、PHP 正規表現を使用して、入力文字列が正しい電子メール アドレスであるかどうかを確認する方法を紹介します。実際のプロジェクトでは、メールアドレスの検証は必須であり、正規表現の一致ルールや PHP 関数の使用をマスターすることで、検証操作をより適切に完了することができます。

以上がPHP 正規表現を使用して、入力文字列が正しい電子メール アドレスであるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

See all articles