【发布时间】:2015-06-15 00:53:22
【问题描述】:
我有这个 php 代码
if(filter_var($_POST['username'], FILTER_SANITIZE_EMAIL) !== false && filter_var($_POST['username'], FILTER_VALIDATE_EMAIL) !== false) {
echo 'it is mail';
}else{
echo 'is is phone';
}
当我像这样发送帖子数据时
example@bla.com
它正在写它是邮件。但是当我像这样发送数据时
+995216846121
那么它也写它是邮件
怎么了? 请帮帮我。
我需要检查客户是否添加了邮件或电话号码。
【问题讨论】:
-
filter_validate_email 在此处正确拒绝电话号码。尝试调试您的系统:为这两个选项执行
var_dump(filter_var(...)),并确认它们返回正确的真/假。 -
现在我尝试 var_dump(filter_var($_POST['username'], FILTER_SANITIZE_EMAIL));并且在它们两者中它都返回字符串(这里是长度)和相同的字符串有问题我可以像 (int)$_POST['username'] 那样转换这个字符串然后检查它吗?或类似的东西?
-
你确定这段代码有错误吗?对我来说它工作正常
-
是的,我
m sure. it is not working. I give you my code how Im 检查。它不工作。 -
sanitize 只是清理并返回字符串的剩余部分。 validate 返回一个真/假...
标签: php email-validation phone-number filter-var