jQuery 表单验证,仅允许 .EDU 和 .edu.nn(其中 nn 是 2 位国家/地区代码)电子邮件地址
jQuery Form Validation, Only Allow .EDU AND .edu.nn (where nn is a 2-digit country code) Email Addresses
我使用此方法进行了.edu电子邮件验证 - jQuery表单验证,仅允许.EDU电子邮件地址
但是,不仅仅是 .edu 或 .edu.nn(其中 nn 是 2 位数的国家/地区代码),我想将两者包含在一个中。不知道如何实现这一目标。以下是同时接受 .edu 和 .edu.fr 的代码 - 除了 .edu 之外,我还需要接受所有其他 2 位数的国家/地区代码
感谢您的帮助!
$.validator.addMethod("edu", function (value, element, param) {
// Make it work optionally OR
// Check the last 4 and 7 characters and ensure they match .edu and .edu.2-digit-country-code
return (this.optional(element) || value.slice(-4) == ".edu" || value.slice(-7) == ".edu.fr");
}, "Please enter valid .edu email address");
$("#requestform").validate({
rules: {
email: {
required: true,
email: true,
edu: true
},
}
});
由于.slice()
的性能不如同时检查两种可能性,因此使用带有可选标志的 RegExp 会更快:
此正则表达式将满足两个条件:
var regex = /'.edu('.[a-z]{2})?$/
在这里看到它在 REPL 中工作:
> regex.test('somename.edu')
true
> regex.test('emai.com')
false
> regex.test('email.edu.cz')
true
那么你的验证器函数会像这样小:
$.validator.addMethod("edu", function (value, element, param) {
// Make it work optionally OR
// Check the last 4 and 7 characters and ensure they match .edu and .edu.2-digit-country-code
return (value.match(/'.edu('.[a-z]{2})?$/));
}, "Please enter valid .edu (or .edu.NN) email address");
这是另一个测试您的RegExp
的网站:http://regexpal.com/
另外,以下是我使用的RegExp语法的一些解释:
x?
:表示匹配 0 次或更多次x
(有效x
是可选的)
x{N}
: 表示精确匹配x
N
次(用于匹配正好 2 个字母 a-z)
$
:表示匹配"输入结束"(否则someacct.edu.fr@gmail.com
也会匹配)
希望它有帮助
请改用正则表达式匹配。这是一个很棒的工具。
/.''edu.[a-z][a-z]/i
$.validator.addMethod("edu", function (value, element, param) {
// Make it work optionally OR
// Check the last 4 and 7 characters and ensure they match .edu and .edu.2-digit-country-code
return (this.optional(element) || value.slice(-4).match(/'.edu/i) || value.slice(-7).match(/'.edu'.[a-z][a-z]/i);
}, "Please enter valid .edu email address");
$("#requestform").validate({
rules: {
email: {
required: true,
email: true,
edu: true
},
}
});
相关文章:
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- 州和城市选择框类似于国家细分页面
- 显示每个国家的传单地图
- Possibile使用Manifest v2下的HTML5地理位置API将lat/long转换为国家/地区
- Html/Javascript-如何屏蔽除英国以外的所有欧盟国家,并允许所有非欧盟国家
- json格式的国家数据到层次数据
- 谷歌将广告超链接映射到国家标记
- 使用Node js和D3实时绘制地图上的国家名称
- 如何在谷歌地图中突出显示一个州点击一个国家的任何区域
- 无法使用国家/地区选择中的状态动态填充下拉列表
- D3.JS数据映射国家名称变量
- 如何使用npm国家代码
- 在Chrome扩展中,我如何准确地检索用户'的地区/地区/国家
- 地理代码和国家代码
- 使用从forEach循环中提取的国家代码从数组中获取国家名称
- 使用自动完成服务()将 Google 地图地点限制为特定国家/地区
- Magento:根据所选国家/地区隐藏/显示输入字段
- 在 asp.net 中用javascript填充国家和城市下拉列表
- 仅在引导程序表单助手国家/地区选取器中显示国家/地区子集文本
- jQuery 表单验证,仅允许 .EDU 和 .edu.nn(其中 nn 是 2 位国家/地区代码)电子邮件地址