我想,只有电子邮件应该在令牌输入中接受,而不是普通文本..
答案 0 :(得分: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函数。
答案 1 :(得分: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);
}
});
答案 2 :(得分: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>";
}
}
}