CodeIgniter电子邮件验证

qnzebej0  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(236)

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

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

如果我在字段中输入相同的示例来测试验证,结果是...
"测试"=未通过
"测试@" =未通过
"测试@测试"=未失败
在这个例子中,我有一个值,它的格式不正确,但验证接受它。一个电子邮件地址test@test不应该通过验证。
我需要做些什么才能让codeigniter的表单验证检查电子邮件语法的格式是否正确?

mpbci0fu

mpbci0fu1#

是的,我也是这样。最后我创建了回调函数来验证电子邮件,效果很好。

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');

希望能有所帮助!

相关问题