Ada*_*dam 0 php email validation preg-match
这是代码:
if(trim($_POST['email']) == '') {
$hasError = true;
} else if (!preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
$hasError = true;
} else {
$email = trim($_POST['email']);
}
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
警告:preg_match()[function.preg-match]:在第22行的/home/bigsilkd/public_html/UBA/join.php中找不到结束分隔符'/'
这正是它所说的:
preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$"
Run Code Online (Sandbox Code Playgroud)
应该
preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$/"
^
|
This was missing ---/
Run Code Online (Sandbox Code Playgroud)
您不应使用正则表达式来验证电子邮件.例如,你的正则表达式不允许我的电子邮件地址+@example.org,这是一个正常和有效的电子邮件.保存我的邮箱!由于形式验证不好,它正在消失!用filter_var!
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
// email is valid
}
Run Code Online (Sandbox Code Playgroud)