PHP:验证并清理电子邮件地址
时间:2020-01-09 10:43:01 来源:igfitidea点击:
问题描述:如何使用PHP编程语言验证输入数据,例如电子邮件地址?
解决方法:您需要使用旨在安全处理输入参数的PHP过滤器。
它可以验证和过滤来自某些不安全来源的数据,例如通过过滤器扩展的用户输入。
该扩展是PHP Core 5.20及更高版本的一部分,但您始终可以在Linux下安装它。
您可以使用过滤器来验证以下数据类型:
- 正则表达式
- 网址
- 电子邮件
- 字符串
- magic_quotes
- 常规数据类型,例如int,float等
验证电子邮件地址
这是一个示例代码:
<? $email="[email protected]"; if ( filter_var($email, FILTER_VALIDATE_EMAIL) == TRUE) { echo 'Valid Email Address'; } else { echo 'Invalid Email Address'; } ?>
filter_var()将使用指定的过滤器过滤变量。
在这种情况下,您使用了FILTER_VALIDATE_EMAIL过滤器。
您可能还想使用以下代码来清理电子邮件:
$out=filter_var($email, FILTER_SANITIZE_EMAIL);
这是另一个示例:
<?php // form.php //.... //...... $_POST['email'] = stripslashes(trim($_POST['email'])); $tmpEmail=filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); if ( filter_var($tmpEmail, FILTER_VALIDATE_EMAIL) == TRUE) { // callSmtp fireSmtp(); } else{ //show error echo 'Invalid Input - an error has occurred when trying to send this email'; } ///.... ?>