用if else判断之后弹出框只出现一次

我只能复制东西进去,比如说1a 2c 3g 4b,我们有固定的字母,但是我复制进去之后,会出现多个重复的弹框,我怎么才能让重复提示的弹框只出现一次?比如说数字有4个,他就给我弹出4次。但是我这边只想让它弹出一次。各位大佬在我的源代码上面可以修改吗?

    <input type="text"  id="airportCode"/>

        <script>
                    var inputObj=document.getElementById('airportCode')
                    inputObj.oninput=function(ev){
                        var arr= ev.target.value.split('');
                        var a=arr.filter(function(value,index){
                            //字母
                            var regx_zm = /^[acgtACGT]*$/;
                            //空格
                            var regx_kg = /^\s$/;
                            //特殊字符
                            var regx_tszf = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
                            //数字
                            var regx_sz = /^[0-9]*$/;
                            //其他字母
                            var regx_qtzm = /^[bdefh-su-zBDEFH-SU-Z]*$/;
                            if(regx_zm.test(value)){
                                return value;
                            }else if(regx_kg.test(value)){
                                alert('不能输入空格')
                            }else if(regx_tszf.test(value)){
                                alert('不能输入特殊字符')
                            }else if(regx_sz.test(value)){
                                alert('不能输入数字')
                            }else if(regx_qtzm.test(value)){
                                alert('请检查输入字母')
                            }else{
                                alert('其他')
                            }
                        })
                        inputObj.value=a.join('')
                    }

        </script>

https://www.cnblogs.com/lqss/p/5856963.html

最简单的,每个状态加个标识就行。比如数字的弹窗,多加一个判断条件 numAlert
例:

var str = "asd111asd";
arr=str.split('');
numAlert=1;
arr.filter(function(item,index){
    if(numAlert && item=="1"){
        alert(1);
                numAlert=0;
    }
})

判断的时候,当第一次判断到item为数字的时候,此时numAlert为1==true,此时会执行下面alert操作,同时改变numAlert标识为0==false。当后面循环到此处时,由于numalert为false,则自动跳过后面的操作。