javascript - 将 select2 限制为仅接受电子邮件地址

标签 javascript jquery jquery-select2

我有一个选择框,我将其限制为仅接受电子邮件地址。

我试图通过编写自定义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/

相关文章:

javascript - 如何在asp.net MVC中获取外部JavaScript文件中的 session 值、临时数据?

javascript - 如何以同步方式加载文件? (访问控制允许来源)

javascript - Draggable 同时拖动两个元素

javascript - Select2 v4.0 - 选择多个值

jquery - 将匹配 select2 中的无结果更改为最接近的结果

javascript - 设置 window.open() 的 HTML 在 Internet Explorer 中产生奇怪的样式问题

java - 在 Java 桌面应用程序中使用 CSS 和 JavaScript

javascript - 使用选定的选项加载 Select2 而不触发更改?

javascript - JSPDF - 如何删除 pdf 下载中的空白最后一页

jquery - 方向感知的悬停在溢出滚动时中断