knockout.js电子邮件地址模式验证无法按预期工作

时间:2018-02-21 11:28:05

标签: javascript regex knockout.js knockout-validation

我正在尝试使用模式方法通过knockout.validation.js实现电子邮件验证。

使用模式方法的原因是限制用户仅使用以下字符。 - _ (点,短划线和下划线)在输入电子邮件地址时不是任何其他人。

为此,我修改了电子邮件验证正则表达式,如下所示。

^[a-zA-Z0-9._-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$

这在page上按预期工作。

但是,当我在knockout.js中使用相同的正则表达式

pattern: {
        message: 'Invalid email format',
        params: '^[a-zA-Z0-9._-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$'
    }

它会验证一个电子邮件地址,该地址有多个@ char,例如“test @ test @ test.com”,即使它在正则表达式测试页面上显示无效。

我错过了什么或者是knockout.js的错误吗?你能帮我解决一下这个问题吗?

由于

0 个答案:

没有答案