【发布时间】:2012-11-01 04:02:42
【问题描述】:
这是我正在使用的代码:
if (filter_var($desired_username, FILTER_VALIDATE_EMAIL) || ((strlen($desired_username)) > 32)) {
$usernamevalidate=FALSE;
} else {
$usernamevalidate=TRUE;
}
strlen 工作正常,但 filter_var 或 FILTER_VALIDATE_EMAIL 不是。不要让变量名欺骗您,“$desired_username”链接到电子邮件字段,但它不起作用。
我可以输入“test”而不是“test@test.com”甚至“test@test”,它仍然有效。我也尝试过preg_match 和其他方法,但都没有正确验证。
任何帮助将不胜感激。
【问题讨论】:
-
“我也试过 preg_match 和其他方法,但都没有正确验证。”向我们展示代码。
-
如果您认为
filter_var失败 - 为什么不在没有其他功能的情况下重现该问题?只需删除 everything 并用var_dump(filter_var(...));留下一行,然后看看它会返回什么。隔离问题总是是个好主意,这就是调试的方式。
标签: php validation email