1

我试图在我的表单上允许空白输入,但如果用户输入一个电子邮件,我也会验证电子邮件 ,我已经用我在 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

4

2 回答 2

1

我看到两个选项。

选项1

required从输入元素中删除类。这将接受一个空值,但如果不为空,则检查/验证。在这里试试。

选项 2

你已经拥有的那个:)

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

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

也找到了这个。无论如何,它有效;检查这个演示

于 2013-09-02T22:25:54.170 回答
0

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

于 2013-09-02T20:13:30.067 回答