Php 如何使用preg match验证电子邮件地址域
我想使用pregmatch验证电子邮件地址域。此外,我在电子邮件列表数组中插入了有效的edu域,因此当用户输入电子邮件地址时,该条目将首先签入电子邮件列表数组。如果可用,则为验证。我正在服务器端做验证部分。。任何帮助都是徒劳的。提前谢谢你Php 如何使用preg match验证电子邮件地址域,php,validation,preg-match,Php,Validation,Preg Match,我想使用pregmatch验证电子邮件地址域。此外,我在电子邮件列表数组中插入了有效的edu域,因此当用户输入电子邮件地址时,该条目将首先签入电子邮件列表数组。如果可用,则为验证。我正在服务器端做验证部分。。任何帮助都是徒劳的。提前谢谢你 <?php $email = $_POST['email']; // get the email value $email_exp = explode("@",$email); // split email $email_name = $email_e
<?php
$email = $_POST['email']; // get the email value
$email_exp = explode("@",$email); // split email
$email_name = $email_exp[1]; // get the domain of email address
$email_list = array("berkely.edu","ucfs.edu","udef.edu","ucms.edu","ucef.edu"); // valid edu domain
for($i=0;$i<sizeof($email_list);$i++)
{
if(in_array($email_name,$email_list))
{
if (preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $email_name))
{
// validate email
}
}
}
使用filter\u var
,并用它替换preg\u match
调用
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) == TRUE) {
// email is valid
}
因此,更新后的代码将是:
<?php
$email = $_POST['email']; // get the email value
$email_exp = explode("@",$email); // split email
$email_name = $email_exp[1]; // get the domain of email address
$email_list = array("berkely.edu","ucfs.edu","udef.edu","ucms.edu","ucef.edu");
$email_is_valid = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) == TRUE;
if($email_is_valid && in_array($email_name,$email_list) ) {
// email is valid for your purposes
}
如果我使用filter\u var,为什么不在这里使用preg\u match@stoic@stoic我还需要arrray中列出的特定edu域,以便从我的电子邮件列表数组中筛选\u验证\u电子邮件替换???使用filter_var后,我不需要这里的preg匹配??没错filter\u var
为您验证电子邮件,因此,不需要preg\u match
用户输入电子邮件域,也可以检查电子邮件列表数组。。如果它在其中可用,那么它是有效的。。。从我的$EMAIL中筛选\u验证\u电子邮件替换_list@prashant:用正确的代码更新答案。好的,我将替换您提供给我的代码。。并检查了结果。。。