电子邮件的表单验证不是100%有效

时间:2018-10-06 08:58:59

标签: codeigniter

我想用电子邮件地址验证输入字段。

如果我使用

$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[users.email]');

如果我在字段中输入相同的示例来测试验证,则结果为...

“测试” =失败

“ test @” =失败

“ test @ test” =未失败

在此示例中,我的值不是正确的电子邮件语法,但是验证接受该值。无法发送电子邮件至test @ test。

我该怎么做,codeigniter的格式验证将检查电子邮件的语法正确?

非常感谢支持我。

1 个答案:

答案 0 :(得分:1)

是的,我也是这样。最终,我创建了用于验证电子邮件的回调函数,该函数就像魅力一样。

function validateEmail($email) {
    if (preg_match("/^[_a-z0-9-+]+(\.[_a-z0-9-+]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/", $email)) {
    return true;  
    }
    return false;
}

在验证规则中添加回调函数

$this->form_validation->set_rules('email', 'Email', 'required|is_unique[users.email]|callback_validateEmail');

希望有帮助!