Sahkan e-mel dalam PHP

Feb 28, 2024 am 10:31 AM
pengaturcaraan php pembangunan bahagian belakang php ditulis

Mengesahkan e-mel dalam PHP adalah salah satu keperluan biasa dalam pembangunan laman web. Pengesahan e-mel yang berkesan meningkatkan ketepatan input pengguna dan menghalang pendaftaran berniat jahat dan kebocoran maklumat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menulis kod pengesahan e-mel yang mudah dan berkesan untuk memastikan format e-mel yang dimasukkan oleh pengguna mematuhi spesifikasi. Melalui panduan artikel ini, anda boleh melaksanakan fungsi pengesahan e-mel dengan mudah dan meningkatkan pengalaman pengguna dan keselamatan tapak web anda. Editor PHP Apple akan menerangkan kaedah pengesahan e-mel secara terperinci supaya anda boleh menguasai kemahiran dengan mudah.

Kami juga akan menunjukkan cara lain untuk mengesahkan alamat e-mel dalam FILTER_SANITIZE_EMAILFILTER_VALIDATE_EMAIL 过滤器名称 ID 以及 fiter_var()php menggunakan fungsi . Kaedah ini mula-mula membersihkan alamat e-mel dan kemudian mengesahkan alamat e-mel.

Kami akan membincangkan cara lain untuk mengesahkan e-mel dalam PHP menggunakan Ungkapan Biasa. Kaedah ini menggunakan fungsi preg_match() untuk menyemak sama ada e-mel itu sah berdasarkan ungkapan biasa yang disediakan.


Menggunakan filter_var() 函数和 FILTER_VALIDATE_EMAIL E-mel Pengesahan dalam PHP

Kami boleh menggunakan nama penapis filter_var() 函数来过滤具有特定过滤器名称的变量。FILTER_VALIDATE_EMAIL untuk menyatakan bahawa e-mel itu perlu disahkan. Fungsi ini mengambil alamat e-mel sebagai String sebagai parameter pertama dan ID penapis yang dinyatakan di atas sebagai parameter kedua. Jadi kita boleh semak sama ada email yang diberikan itu sah. Jika fungsi berjaya atau mengembalikan palsu, fungsi mengembalikan data yang ditapis. E-mel dikatakan sah, bukan e-mel yang wujud. Id penapis mengesahkan e-mel berdasarkan sintaks dalam RFC 822. Kami boleh mengujipengesahan e-mel menggunakan e-mel yang sah dan tidak sah.

Contohnya, buat fungsi validateEmail(),它接受一个参数 $email。对 $email 变量使用 filter_var() 函数,并指定过滤器 ID FILTER_VALIDATE_EMAIL 作为第二个参数。对 filter_var() 函数应用 if-else 条件。在 if 块中,显示消息说电子邮件有效,在 else 条件下,显示该电子邮件无效。在函数外,调用该函数两次。在第一个函数调用中提供参数,peter.piper@iana.orgfirst.last@example.123
pada panggilan kedua.

Kita boleh menganggap bahawa alamat e-mel yang diberikan dalam contoh diakses daripada borang menggunakan pembolehubah $_POST. Fungsi dalam contoh di bawah dipanggil dua kali. Panggilan pertama menghantar alamat e-mel yang sah, yang kedua e-mel tidak sah. Alamat e-mel kedua tidak sah kerana ia mengandungi nombor daripada domain peringkat atas. Hasilnya adalah jelas.

Kod contoh:

<code>
<code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#408080;font-style:italic">#php 7.x
</span></span></span><span style="display:flex;"><span><span style="color:#666"><?</span>php
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">funct<strong class="keylink">io</strong>n</span> <span style="color:#00f">validateEmail</span>(<span style="color:#19177c">$email</span>) {
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span>(filter_var(<span style="color:#19177c">$email</span>, FILTER_VALIDATE_EMAIL)) {
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"</span><span style="color:#b68;font-weight:bold">{</span><span style="color:#19177c">$email</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">: A valid email"</span><span style="color:#666">.</span><span style="color:#ba2121">"<br>"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">else</span> {
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"</span><span style="color:#b68;font-weight:bold">{</span><span style="color:#19177c">$email</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">: Not a valid email"</span><span style="color:#666">.</span><span style="color:#ba2121">"<br>"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>validateEmail(<span style="color:#ba2121">'peter.piper@iana.org'</span>);
</span></span><span style="display:flex;"><span>validateEmail(<span style="color:#ba2121">'first.last@example.123'</span>);
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span >
</span></span></span></code></code>
Salin selepas log masuk

Keluaran:

<code>
<code class="php hljs" data-lang="php"><span style="display:flex;"><span>phppeter<span style="color:#666">.</span>piper<span style="color:#666">@</span>iana<span style="color:#666">.</span>org<span style="color:#666">:</span> A valid email 
</span></span><span style="display:flex;"><span>first<span style="color:#666">.</span>last<span style="color:#666">@</span>example<span style="color:#666">.</span><span style="color:#666">123</span><span style="color:#666">:</span><span style="color:#008000;font-weight:bold">Not</span> a valid email
</span></span></code></code>
Salin selepas log masuk

Sahkan e-mel menggunakan fungsi FILTER_VALIDATE_EMAILFILTER_SANITIZE_EMAILfilter_var() dalam PHP

Kita boleh mengikuti pendekatan pertama dengan menggunakan FILTER_SANITIZE_EMAIL 过滤器名称 id 从电子邮件地址中删除所有非法字符。过滤器名称 id 是 filter_var() 函数中的第二个参数,其中电子邮件地址是第一个参数。该函数返回经过消毒的电子邮件。我们可以再次使用该功能来检查消毒后电子邮件地址的有效性。为此,我们可以使用 FILTER_VALIDATE_EMAIL id nama penapis tambahan dalam pendekatan pertama.

Contohnya, buat pembolehubah $email 并存储一个包含非法字符的电子邮件地址。将电子邮件 ram(.mugu)@exa//mple.org 作为字符串存储在变量中。对变量使用 filter_var() 函数,并使用 FILTER_SANITIZE_EMAIL id 作为第二个参数。将函数存储在同一个 $email 变量中。然后,像第一种方法一样应用 if-else 语句。这一次,使用 FILTER_VALIDATE_EMAIL e-mel sebagai nama penapis dalam fungsi. Begitu juga, mesej dipaparkan.

Contoh di bawah menggunakan alamat e-mel dengan aksara haram, filter_var() 函数过滤这些字符并清理所提供的电子邮件。示例中提供的电子邮件地址包含非法字符,例如 ()//. Fungsi pertama mengalih keluar aksara ini daripada e-mel dan kemudian mengesahkan e-mel.

Kod contoh:

<code>
<code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#408080;font-style:italic">#php 7.x
</span></span></span><span style="display:flex;"><span><span style="color:#666"><?</span>php
</span></span><span style="display:flex;"><span><span style="color:#19177c">$email</span> <span style="color:#666">=</span> <span style="color:#ba2121">"ram(.mugu)@exa//mple.org"</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$email</span> <span style="color:#666">=</span> filter_var(<span style="color:#19177c">$email</span>, FILTER_SANITIZE_EMAIL);
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span>(filter_var(<span style="color:#19177c">$email</span>, FILTER_VALIDATE_EMAIL)) {
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"</span><span style="color:#b68;font-weight:bold">{</span><span style="color:#19177c">$email</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">: A valid email"</span><span style="color:#666">.</span><span style="color:#ba2121">"<br>"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">else</span>{
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"</span><span style="color:#b68;font-weight:bold">{</span><span style="color:#19177c">$email</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">:Not a valid email"</span><span style="color:#666">.</span><span style="color:#ba2121">"<br>"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span >
</span></span></span></code></code>
Salin selepas log masuk

Keluaran:

<code>
<code class="php hljs" data-lang="php"><span style="display:flex;"><span>ram<span style="color:#666">.</span>mugu<span style="color:#666">@</span>example<span style="color:#666">.</span>org<span style="color:#666">:</span> A valid email
</span></span></code></code>
Salin selepas log masuk

使用 preg_match() 函数根据正则表达式验证电子邮件

我们可以使用 preg_match() 函数来验证 PHP 中的电子邮件地址。此方法使用正则表达式作为电子邮件的验证规则。我们可以自己创建正则表达式并定义有效电子邮件的规则。preg_match() 函数接受两个参数,其中第一个是正则表达式,第二个是要检查的电子邮件。我们可以使用三元运算符和函数一起检查电子邮件的有效性。

例如,创建两个变量 $email_first$email_secon,并在这些变量中存储两个电子邮件地址。首先存储有效的电子邮件 firstlast11@gmail.com,然后存储无效的电子邮件 firstlast@11gmail,com。编写一个带有一个参数的函数 validateEmail()。命名参数 $email。在函数内部,在 $regex 变量中编写一个正则表达式,如示例代码所示。然后编写一个三元运算符,其中要检查的条件是 preg_match() 函数。将 $regex 作为第一个参数,将 $email 作为第二个参数。当条件为真时打印电子邮件有效的消息,当条件为假时打印电子邮件无效的消息。回显整个三元表达式。在函数外,调用 validateEmail() 函数两次。在第一个函数调用中使用 $email_first 变量,在第二个函数调用中使用 $email_second 变量。

在下面的示例中,我们编写了一个正则表达式,用于创建验证电子邮件的规则。有效的电子邮件包含收件人姓名、@ 符号、域和顶级域。上面创建的正则表达式接受收件人姓名作为字母数字值。字母表由大写字母和小写字母组成。它也接受一个句点。电子邮件必须有 @ 符号。该域仅包含字母。然后电子邮件应该有一个句点。顶级域应该只由字母组成,并且长度应该是两个或三个。正则表达式是基于此规则创建的。第一封电子邮件是有效的,因为它满足所有规则,但第二封电子邮件无效。无效,因为域名中有数字,顶级域名前没有句号。

示例代码:

<code>
<code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#408080;font-style:italic"># php 7.x
</span></span></span><span style="display:flex;"><span><span style="color:#666"><?</span>php
</span></span><span style="display:flex;"><span><span style="color:#19177c">$email_first</span> <span style="color:#666">=</span> <span style="color:#ba2121">'firstlast11@gmail.com'</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$email_second</span> <span style="color:#666">=</span><span style="color:#ba2121">'firstlast@11gmail,com'</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">function</span> <span style="color:#00f">validateEmail</span>(<span style="color:#19177c">$email</span>) {
</span></span><span style="display:flex;"><span><span style="color:#19177c">$regex</span> <span style="color:#666">=</span> <span style="color:#ba2121">"/^([a-zA-Z0-9\.]+@+[a-zA-Z]+(\.)+[a-zA-Z]{2,3})$/"</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> preg_match(<span style="color:#19177c">$regex</span>, <span style="color:#19177c">$email</span>) <span style="color:#666">?</span> <span style="color:#ba2121">"The email is valid"</span><span style="color:#666">.</span><span style="color:#ba2121">"<br>"</span> <span style="color:#666">:</span><span style="color:#ba2121">"The email is not valid"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>validateEmail(<span style="color:#19177c">$email_first</span>);
</span></span><span style="display:flex;"><span>validateEmail(<span style="color:#19177c">$email_second</span>);
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span >
</span></span></span></code></code>
Salin selepas log masuk

输出:

<code>
<code class="text hljs" data-lang="text"><span style="display:flex;"><span>The email is valid 
</span></span><span style="display:flex;"><span>The email is not valid
</span></span></code></code>
Salin selepas log masuk

Atas ialah kandungan terperinci Sahkan e-mel dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Baris format PHP ke CSV dan tulis penuding fail Baris format PHP ke CSV dan tulis penuding fail Mar 22, 2024 am 09:00 AM

Artikel ini akan menerangkan secara terperinci bagaimana PHP memformat baris ke dalam CSV dan menulis penunjuk fail saya rasa ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. Format baris ke CSV dan tulis ke penuding fail Langkah 1: Buka penuding fail $file=fopen("path/to/file.csv","w"); kepada rentetan CSV. Fungsi ini menerima parameter berikut: $fail: penuding fail $medan: medan CSV sebagai tatasusunan $pembatas: pembatas medan (pilihan) $kepungan: petikan medan (

PHP menukar umask semasa PHP menukar umask semasa Mar 22, 2024 am 08:41 AM

Artikel ini akan menerangkan secara terperinci tentang menukar umask semasa dalam PHP Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. Gambaran keseluruhan PHP yang menukar umask semasa umask ialah fungsi php yang digunakan untuk menetapkan kebenaran fail lalai untuk fail dan direktori yang baru dibuat. Ia menerima satu hujah, iaitu nombor perlapanan yang mewakili kebenaran untuk menyekat. Sebagai contoh, untuk menghalang kebenaran menulis pada fail yang baru dibuat, anda akan menggunakan 002. Kaedah menukar umask Terdapat dua cara untuk menukar umask semasa dalam PHP: Menggunakan fungsi umask(): Fungsi umask() menukar secara langsung umask semasa. Sintaksnya ialah: intumas

PHP mengira cincangan fail MD5 PHP mengira cincangan fail MD5 Mar 21, 2024 pm 01:42 PM

Artikel ini akan menerangkan secara terperinci tentang PHP mengira cincangan fail MD5. Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. PHP mengira cincangan MD5 bagi fail MD5 (MessageDigest5) ialah algoritma penyulitan sehala yang menukarkan mesej dengan panjang sewenang-wenangnya kepada nilai cincang 128-bit panjang tetap. Ia digunakan secara meluas untuk memastikan integriti fail, mengesahkan ketulenan data dan mencipta tandatangan digital. Mengira cincang MD5 fail dalam PHP PHP menyediakan berbilang kaedah untuk mengira cincang MD5 bagi fail: Gunakan fungsi md5_file() Fungsi md5_file() mengira secara langsung nilai cincang MD5 bagi fail dan mengembalikan 32 aksara.

PHP mengembalikan tatasusunan dengan nilai kunci dibalikkan PHP mengembalikan tatasusunan dengan nilai kunci dibalikkan Mar 21, 2024 pm 02:10 PM

Artikel ini akan menerangkan secara terperinci bagaimana PHP mengembalikan tatasusunan selepas membalikkan nilai utama Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. PHP key value flip Array key value flip ialah operasi pada tatasusunan yang menukar kunci dan nilai dalam tatasusunan untuk menjana tatasusunan baharu dengan kunci asal sebagai nilai dan nilai asal sebagai kunci. Kaedah pelaksanaan Dalam PHP, anda boleh melakukan pembalik nilai kunci tatasusunan melalui kaedah berikut: fungsi array_flip(): Fungsi array_flip() digunakan khas untuk operasi flip nilai kunci. Ia menerima tatasusunan sebagai hujah dan mengembalikan tatasusunan baharu dengan kunci dan nilai ditukar. $original_array=[

PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan Mar 21, 2024 pm 09:21 PM

Artikel ini akan menerangkan secara terperinci bagaimana PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan Editor berpendapat ia sangat praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan: Dalam PHP, terdapat banyak cara untuk menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan: 1. Gunakan fungsi isset(): isset($array["key"]) Fungsi ini mengembalikan nilai Boolean, benar jika kunci yang ditentukan wujud, palsu sebaliknya. 2. Gunakan fungsi array_key_exists(): array_key_exists("key",$arr

Bagaimana untuk menggunakan PHP untuk menentukan bilangan digit dalam nombor? Bagaimana untuk menggunakan PHP untuk menentukan bilangan digit dalam nombor? Mar 26, 2024 am 11:39 AM

Kaedah praktikal untuk menggunakan PHP untuk menentukan bilangan digit yang ada pada suatu nombor Dalam pengaturcaraan, selalunya terdapat keperluan untuk menentukan bilangan digit yang ada pada suatu nombor. Apabila menulis program dalam PHP, anda boleh menggunakan beberapa kaedah yang mudah tetapi praktikal untuk menentukan bilangan digit dalam nombor. Di bawah ini kami akan memperkenalkan beberapa kaedah menggunakan PHP untuk menentukan bilangan digit dalam nombor, dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan fungsi strlen Fungsi strlen dalam PHP boleh mengembalikan panjang rentetan Jika kita mula-mula menukar nombor kepada rentetan dan kemudian menggunakan s

PHP mengembalikan pengekodan berangka mesej ralat dalam operasi MySQL sebelumnya PHP mengembalikan pengekodan berangka mesej ralat dalam operasi MySQL sebelumnya Mar 22, 2024 pm 12:31 PM

Artikel ini akan menerangkan secara terperinci pengekodan digital mesej ralat yang dikembalikan oleh PHP dalam operasi Mysql sebelumnya. Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan . Menggunakan PHP untuk mengembalikan maklumat ralat MySQL Pengekodan Berangka Pengenalan Semasa memproses pertanyaan mysql, anda mungkin menghadapi ralat. Untuk mengendalikan ralat ini dengan berkesan, adalah penting untuk memahami pengekodan berangka mesej ralat. Artikel ini akan membimbing anda menggunakan php untuk mendapatkan pengekodan berangka mesej ralat Mysql. Kaedah mendapatkan pengekodan berangka maklumat ralat 1. mysqli_errno() Fungsi mysqli_errno() mengembalikan nombor ralat terkini sambungan MySQL semasa. Sintaksnya adalah seperti berikut: $erro

PHP dapatkan pi PHP dapatkan pi Mar 21, 2024 pm 01:52 PM

Artikel ini akan menerangkan secara terperinci tentang mendapatkan pi dalam PHP Editor berpendapat ia sangat praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda dapat memperoleh sesuatu selepas membaca artikel ini. Pengenalan kepada Mendapatkan Pi dengan PHP Pi (π) ialah nisbah lilitan kepada diameter bulatan Ia adalah nombor tidak rasional dan tidak boleh dinyatakan dengan nombor terhingga digit. Dalam php, anda boleh menggunakan fungsi terbina dalam M_PI untuk mendapatkan nilai anggaran pi. Fungsi M_PI Fungsi M_PI mengembalikan nilai anggaran pi, tepat hingga 14 tempat perpuluhan. Ia adalah pemalar PHP, jadi anda tidak perlu menggunakan sebarang parameter untuk menggunakannya. Output sintaks 3.14159265358979 Kaedah alternatif Selain fungsi M_PI, terdapat beberapa alternatif

See all articles