我正在使用这个验证插件:https://github.com/posabsolute/jQuery-Validation-Engine
我的电子邮件输入字段应该验证它是否是真正的电子邮件,并且不允许某些电子邮件域(hotmail、gmail)。我已经阅读了插件网站上的整个自述文件,但我在那里找不到任何有用的信息来说明如何让它做到这一点。因此,如果有人知道如何做到这一点,或者有关于如何做到这一点的文档链接,将使您的生活更安全。
提前致谢。
最佳答案
我可以建议您执行下一步(我没有对此进行测试,所以如果它不起作用,请告诉我)。
此插件允许您指定自定义正则表达式进行验证。所有正则表达式都放置在所谓的翻译文件
中(英语为jquery.validationEngine-en.js
)。在那里您可以看到 $.validationEngineLanguage.allRules
对象。添加您的自定义规则,您需要设置自己的正则表达式来禁止(gmail、hotmail 等):
"custom_email": {
"regex": /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@(?!gmail\.com|hotmail\.com)[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/,
"alertText": "* Invalid email address"
},
您可以看到我添加了几乎默认的正则表达式,该正则表达式是在 "email"
规则中指定的,但其中包含了否定前瞻 (?!gmail\.com|hotmail. com)
(您可以使用 |newemail\.com
方法添加其他域)。
然后您需要为您的输入设置此自定义规则:
<input value="" class="validate[custom[custom_email]]" type="text" name="email" id="email" />
关于jqueryvalidationEngine 验证电子邮件域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12474795/