实例讲解PHP验证邮箱是否合格

时间:2022-09-23 21:29:02

在网站开发过程中,可能需要用PHP实现验证邮箱格式是否正确,那么我们就可以通过PHP中filter_var函数来实现。

实例讲解PHP验证邮箱是否合格

下面我们就结合具体的代码示例,给大家介绍PHP怎么验证邮箱是否合格。

代码示例如下:

<?php
function check_email($email)
{
 $result = trim($email);
 if (filter_var($result, FILTER_VALIDATE_EMAIL))
 {
  return "true";
 }
 else
 {
  return "false";
 }
}
echo check_email("111@qq.com")."\n";
echo check_email("abc#example.com")."\n";

这里我们创建了一个check_email方法,用来判断邮箱是否合格。如果合格则返回true,否则返回false。

输出如下:

true 
false

相关函数:

filter_var()函数 — 使用特定的过滤器过滤一个变量

filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] ) : mixed

参数variable表示,待过滤的变量。注意:标量的值在过滤前,会被转换成字符串。

filter表示要应用filter ID。如果省略,将使用FILTER_DEFAULT,它等价于FILTER_UNSAFE_RAW。这将导致默认情况下不进行过滤。

options表示一个选项的关联数组,或者按位区分的标示。如果过滤器接受选项,可以通过数组的 "flags" 位去提供这些标示。 对于回调型的过滤器,应该传入 callable。这个回调函数必须接受一个参数,即待过滤的值,并且 返回一个在过滤/净化后的值。

trim()函数表示去除字符串首尾处的空白字符(或者其他字符)

trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] ) : string

此函数返回字符串 str 去除首尾空白字符后的结果。如果不指定第二个参数,trim() 将去除这些字符:

" " (ASCII 32 (0x20)),普通空格符。
"\t" (ASCII 9 (0x09)),制表符。
"\n" (ASCII 10 (0x0A)),换行符。
"\r" (ASCII 13 (0x0D)),回车符。
"\0" (ASCII 0 (0x00)),空字节符。
"\x0B" (ASCII 11 (0x0B)),垂直制表符。

参数str表示待处理的字符串。

character_mask是可选参数,过滤字符也可由 character_mask 参数指定。一般要列出所有希望过滤的字符,也可以使用 “..” 列出一个字符范围。

返回值是过滤后的字符串。