我已使用以下代码来确保注册时提供的电子邮件地址有效。
if (!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)){
$msg = $msg."Email Id Not Valid, Please Enter The Correct Email Id .<BR>";
$status = "NOTOK";
}
我输入了标准电子邮件myemail@gmail.com
,但将其标记为无效。
请帮助我为什么标记它。
答案 0 :(得分:1)
内置验证时,您不应为此使用正则表达式:
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$msg.="Email Id Not Valid, Please Enter The Correct Email Id .";
$status= "NOTOK";
}
答案 1 :(得分:0)
尝试一下
if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i", $email))
{
$emailErr = "Email Id Not Valid, Please Enter The Correct Email Id";
}
答案 2 :(得分:0)
尝试一下...
if(isset($_POST["email"]))
{
$emaill = filter_var($_POST["email"], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW|FILTER_FLAG_STRIP_HIGH);
// $reg = '/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/';
if(!preg_match("/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/",$emaill))
{
die('<i class="fa fa-times red"></i> Enter valid email!!!');
}
else{
die('<i class="fa fa-check green"></i> Valid!!!');
}
}