检查字符串是否是 PHP 中的电子邮件地址

新手上路,请多包涵

我正在尝试执行 SQL 查询,但我需要以某种方式检查该值是否是电子邮件地址。我需要一种方法来检查 $user 是否是电子邮件地址,因为我的表中有这样的用户值。

 test
test2
test@example.com
test2@example.com
test392
test@example.net

等等…

我需 $useremail 检查 $user 以查找它是否是电子邮件地址。所以我可以更新值, WHERE user=test OR user=test@example.com 等。

 $user = strtolower($olduser);
$useremail = "";

mysql_query("UPDATE _$setprofile SET user=$sn, fc=$fc WHERE user='$user' OR user='$useremail");

原文由 homework 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 416
2 个回答

这不是一个好方法,不会检查电子邮件是否存在,但会检查它是否看起来像带有 @ 和域扩展名的电子邮件。

 function checkEmail($email) {
   $find1 = strpos($email, '@');
   $find2 = strpos($email, '.');
   return ($find1 !== false && $find2 !== false && $find2 > $find1);
}

$email = 'name@email.com';
if ( checkEmail($email) ) {
   echo $email . ' looks like a valid email address.';
}

原文由 TURTLE 发布,翻译遵循 CC BY-SA 4.0 许可协议

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo 'This is a valid email address.';
    echo filter_var($email, FILTER_VALIDATE_EMAIL);
    // exit("E-mail is not valid");
}
else {
    echo 'Invalid email address.';
}

原文由 Ben 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题