mootools表单验证器接受空白和电子邮件验证

时间:2013-09-02 20:10:33

标签: javascript validation input mootools

我正在尝试在我的表单上允许空白输入还验证电子邮件 ,如果用户输入了一个,我已经多次改变了正则表达式,其中我在stackoverflow 中找到的那些允许空白输入但是所有这些都不起作用

这是原始代码:

['validate-email', {
        errorMsg: Form.Validator.getMsg.pass('email'),
        test: function(element){
            return Form.Validator.getValidator('IsEmpty').test(element) || (/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]\.?){0,63}[a-z0-9!#$%&'*+\/=?^_`{|}~-]@(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\])$/i).test(element.get('value'));
        }
    }],

我如何允许 mootools表单验证器 接受空白,但如果有任何输入也验证电子邮件

直接来源: http://mootools.net/docs/more/Forms/Form.Validator

2 个答案:

答案 0 :(得分:1)

我看到两个选项。

选项1

从input元素中删除required类。这将接受一个空值,但检查/验证是否为空。试一试here

选项2

你已经拥有的那个:)

我通常使用这个正则表达式:

/^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i

还找到this one。无论如何,它的工作原理;检查此demo

答案 1 :(得分:0)

电子邮件验证正则表达式如此笨拙...... mootools是否支持验证功能? 无论如何,你可以拿你的正则表达式创建一个更笨拙的:original-regex|^$,它将接受空字符串