我有一个选择框,我将其限制为仅接受电子邮件地址。
我试图通过编写自定义formatSelection
函数来做到这一点,如
formatSelection: function(object, container){
if(validateEmail(object.text)){
return object.text;
}
else{
return "";
}
}
我期望返回一个空字符串就足以不在 select2
中显示此输入,但我得到一个空结果。
最佳答案
从 select2 4.0 + 开始,只需使用 createTag
函数:
createTag: function(term, data) {
var value = term.term;
if(validateEmail(value)) {
return {
id: value,
text: value
};
}
return null;
}
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
关于javascript - 将 select2 限制为仅接受电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22726877/