如何验证电子邮件输入?

时间:2014-02-18 23:14:49

标签: php wordpress validation

我正在使用WordPress API创建选项页面。其中一个输入需要输入电子邮件。我需要编写一个函数来验证输入的电子邮件并将其返回。

        function nl_validate_settings( $input ) {
            if ( $field_args = array( 'type' => 'email' ) ) {
                foreach( $input as $email ) {
                    if ( ! preg_match( '/^[A-Za-z0-9!#$%&\'*+\/=?^_`{|}~-]+@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+[A-Za-z]$/', $email ) ) {
                        $email = "Invalid email address!";
                    }
                }
                return $email;
            }
                    }

这不起作用,我不知道我做错了什么。正确输入电子邮件时,它不会保存电子邮件。

我已经在StackOverFlow上检查了其他答案,但找不到任何能解决问题的方法。非常感谢您的帮助!

我不知道如何格式化

1 个答案:

答案 0 :(得分:4)

我会使用filter_var并使用SanatizeValidation

的组合
$email = $_POST['email'];
$clean_email = filter_var($email, FILTER_SANITIZE_EMAIL);

if( filter_var($clean_email, FILTER_VALIDATE_EMAIL) )
{
    //Case if Email is valid
}
else
{
    //Handle the case the email is invalid
}