我想,在令牌输入中应该只接受电子邮件,而不是普通文本..
问问题
771 次
3 回答
2
您可以使用 jquery 验证来检查电子邮件或不检查。
例如:
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
将电子邮件值传递email
给 IsEmail 函数的参数。
于 2013-10-15T07:41:27.030 回答
1
要添加到 Vinod 的答案,并将其与您指定的 jquery-tokeninput 插件相关联,我不相信有专门用于在添加自由文本输入之前验证自由文本输入的方法。
我建议使用onAdd
回调,通过 Vinod 的 isEmail 函数运行项目(作为参数传递),然后如果新项目未通过正则表达式测试,则删除它。
未经测试的示例代码:(您可能需要更改 remove 方法,我不确定它是采用实际对象还是 JSON 字符串。)
$("#my-text-input").tokenInput("/url/to/your/script/",{
onAdd: function(item){
if(!isEmail(item.value)) $("#my-text-input").tokenInput("remove", item);
}
});
于 2013-10-15T13:01:09.443 回答
0
我已经尝试过了,它对我来说很好用..
For your kind reference..
resultsFormatter: function(item){
var email_regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i;
console.log("item.email"+item.email);
if(item.email != null){
console.log("Email lalal:: "+item.email);
return "<li>" + item.name +" <"+item.email+">"+"</li>";
}
if(item.name.match(email_regex)){
return "<li>" +" Private Student "+ item.name+ "</li>";
}else{
return "<li style='display:none;'>" +" "+"</li>";
}
}
}
于 2013-10-16T09:05:01.287 回答