限时优惠活动
亲爱的苦力吧用户,我们为了回馈新老用户一直以来的鼎力支持,即日起(2025-02-06至2025-03-06)凡是购买苦力吧VIP/充值K币的新老用户,都直接可获得买一送一的优惠馈赠。例如:购买一个月的VIP会员可直接获得两个月的VIP会员;充值100K币可直接获得200K币,以此类推!有任何疑问可联系在线客服,感谢各位用户对苦力吧素材的信任与厚爱,我们将一如既往的给大家上新更多优质的素材源码,祝大家开工大吉、工作顺利、心想事成。

jquery表单邮箱字段输入支持逗号分隔生成列表

所属分类: 网页特效-丰富的输入    2023-11-01 01:39:49

jquery表单邮箱字段输入支持逗号分隔生成列表 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery表单邮箱字段输入支持逗号分隔生成列表(共3个文件)

    • index.html

使用方法

(function($){
    $.fn.multiEmails = function(options) {
        var settings = $.extend({
            color: "#343a40",
            textColor: "#000000",
            fontAwesome: false,
        }, options );

            var keynum;
            var emailList = [];
            var hiddenField = $(this);
            const 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,}))$/;

            $(this)
            .after(
                '<input type="text" class="'+hiddenField.attr("class")+'" id="email">'
                ).hide()/*.before(
                    '<span class="email-format">Emails be must sepereted by a comma character (,)</span>'
                    )*/;
    
            function uniqueEmails(emails) {
                let uniqueEmails = [];
                $.each(emailList, function(i, el){
                    if($.inArray(el, uniqueEmails) === -1) uniqueEmails.push(el);
                });
    
                return uniqueEmails;
            }
            
            $(document).on('keyup', '#email', function(e) {
                $('.email-error').remove();
                if(window.event){ // IE
                    keynum = e.keyCode;
                }
                else if(e.which){ // Netscape/Firefox/Opera
                    keynum = e.which;
                }
                if (keynum == 188){
                    
                    let email = $('#email').val().replace(',','');
                    if (re.test(String(email).toLowerCase())){
                        emailList.push(email);
                        let displayList = '';
                        
                        uniqueEmails(emailList).forEach((value, ind) => {
                            displayList += "<li style='background-color:"+hexToRgbA(settings.color)+";border-left: 3px solid"+settings.color+"'>"+value+"<span class='float-right remove' data-index="+ind+">"+((settings.fontAwesome === true)?'<i class=\"fas fa-times\"></i>':'X')+"</span></li>"
                        } )
                        let buildEmailList = '<div id="show-emails"><ul style="color:'+settings.textColor+'">'+displayList+'</ul></div>'
                        if($("#show-emails").length){
                            $("#show-emails").replaceWith(buildEmailList);
                        }else{
                            $('#email').parent().after(buildEmailList);
                        }
                        hiddenField.val(JSON.stringify(uniqueEmails(emailList)));
                        $('#email').val('');
                    }else{
                        let errrMessage = "<div class='email-error'>Please enter a valid email address</div>";
                        if($("#show-emails").length){
                            $("#show-emails").after(errrMessage);
                        }else{
                            $('#email').parent().after(errrMessage);
                            console.log($('#email').parent());
                        }
                    }
                }
            })

            $(document).on('click', ".remove", function () {
                let index = $(this).data("index");
                emailList.splice(index, 1);
                let displayList = '';
                uniqueEmails(emailList).forEach((value, ind) => {
                    displayList += "<li style='background-color:"+hexToRgbA(settings.color)+";border-left: 3px solid"+settings.color+"'>"+value+"<span class='float-right remove' data-index="+ind+">"+((settings.fontAwesome === true)?'<i class=\"fas fa-times\"></i>':'X')+"</span></li>"
                } )
                hiddenField.val(uniqueEmails(emailList));
                $("#show-emails ul").html(displayList);
            })

            function hexToRgbA(hex){
                var c;
                if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){
                    c= hex.substring(1).split('');
                    if(c.length== 3){
                        c= [c[0], c[0], c[1], c[1], c[2], c[2]];
                    }
                    c= '0x'+c.join('');
                    return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+',0.08)';
                }
                throw new Error('Bad Hex');
            }
     
    };
}(jQuery))

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 丰富的输入

jquery表单邮箱字段输入支持逗号分隔生成列表

一款input文本框输入邮箱逗号隔开插件,通过在一个文本框字段中输入多个用逗号字符(,)分隔的邮箱地址来生成电子邮箱列表。
  丰富的输入
 9397  0

jquery多个input文本框输入自动跳动光标插件

一款轻量级input文本框输入插件,常用于信用卡/银行卡号输入,四位数一组,输入完一组自动跳动光标特效。
  丰富的输入
 6328  0

jquery文本框输入下拉菜单提示自动完成插件

一个轻量级input输入文本内容下拉框提示插件,在输入字段时显示模糊查询数据下拉列表。
  丰富的输入
 1358  0

jquery超简洁的所见即所得富文本编辑器

一个轻量级所见即所得富文本编辑器,可配置在网站上的用户评论、文章编辑等。
  丰富的输入
 3412  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论