我正在使用位于这里的jquery验证函数和插件。
http://docs.jquery.com/Plugins/Validation我正在查看js文件,发现了验证电子邮件的代码块,但是我只希望允许.edu的电子邮件通过。我不知道该从哪里开始。
我正在使用位于这里的jquery验证函数和插件。
http://docs.jquery.com/Plugins/Validation我正在查看js文件,发现了验证电子邮件的代码块,但是我只希望允许.edu的电子邮件通过。我不知道该从哪里开始。
jQuery.validator.addMethod("edu", function(value, element) {
// Make it work optionally OR
// Check the last 4 characters and ensure they match .edu
return (this.optional(element) || value.slice(-4) == ".edu");
}, "You must use a .edu email address");
$("#myform").validate({
rules: {
field: {
required: true,
email: true,
edu: true
}
}
});
这里有一个jsfiddle,展示了它们如何协同工作以及错误是如何级联的。只需按下按钮即可。
您不需要自定义扩展。您可以使用accept()
方法:http://docs.jquery.com/Plugins/Validation/Methods/accept#extension
// input field
<input type="text" id="eduEmail2" name="eduEmail2" value="abc@123.edu"/>
// validation rule
eduEmail2: {
required: true,
email: true,
accept: 'edu'
}
完整示例: http://jsfiddle.net/M5TmU/2/ (基于Brombomb的jsfiddle)
更新
根据xecute的评论 - 您可以使用自定义正则表达式模式。在additional-methods.js
中,您有"pattern
"方法(文件中的最后一个方法):
eduEmail3: {
required: true,
email: true,
pattern: /(\.edu\.\w\w)$/
}
完整示例:http://jsfiddle.net/M5TmU/3/
当然它并不完美,但是 - 你不需要编写自定义方法 :)
附加编辑:国家域名只有两个字母,所以\w\w\w?
太多了 - \w\w
就可以了。我在 fiddle 中保留了\w\w\w?
。
accept
方法可以使文件上传仅接受指定的mime类型。(http://jqueryvalidation.org/accept-method) ~ 这与OP的问题有什么关系呢? - Sparkyaccept
和extension
方法都用于在使用type="upload"
输入时验证文件上传。这也是2012年的情况。重点是,文件上传的验证与type="text"
输入有什么关系? - Sparky