coldfusion中的cfscript电子邮件验证

lmt*_*ony 2 validation coldfusion coldfusion-9

我试图让我的cfscript标签中的这段代码工作.我进行了搜索和搜索,但有些东西可用于验证电子邮件地址.

如果电子邮件地址为空,则会返回错误消息,但如果我只输入字符,则会让它通过.

我对CF中的脚本非常陌生,所以任何帮助都会受到赞赏.

if (isDefined("form.email"))
            {
                if (form.email is "")
                    {
                        errormessageemail = "Please enter a valid Email Address!";
                    }
                else if (not form.email is "")
                    {
                        email = form.email;
                        function validate_email(str,email) {
                        if( not len(trim(arguments.str)) or not refind("^[0-9A-Za-z.'+_-]+@([0-9A-Za-z-]+\.)+[A-Za-z]+$", trim(arguments.str)) ) {
                            errormessageemail = "Please enter a valid Email Address! Ex. abc@abc.com";
                            }
                        return errormessageemail;
                        }
                    }
            }
Run Code Online (Sandbox Code Playgroud)

Ser*_*gii 8

它可以像这样简单:

if (StructKeyExists(form, "email") AND NOT isValid("email", form.email)) {
    errormessageemail = "Please enter a valid Email Address!";
}
Run Code Online (Sandbox Code Playgroud)

您不验证是否未发布电子邮件.空白字符串不是有效的电子邮件,无需特别检查.

注意:有人可能会认为isValid/email无法100%正常运行.这是真的,但很少见.如果您也这么认为,请使用正则表达式.