下面我们就结合具体的代码示例,给大家介绍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 参数指定。一般要列出所有希望过滤的字符,也可以使用 “..” 列出一个字符范围。
返回值是过滤后的字符串。