块序号输入

时间:2019-07-19 15:43:32

标签: javascript jquery

应该不能输入超过7个数字的数字序列,这些数字在字符之间是否有空格。

要阻止的示例数字序列: 99999999999 99 9 9999 9999 99 9999 9999

<input type="text" name="texto" id="texto"/>

        $('input:text, textarea').keyup(function(){
            var num = $(this).val();
            var a1 = num.split(" ");
            for (i=0;i<a1.length;i++)
            {

                var total_letras = a1[i].length;
                if($.isNumeric(a1[i])){

                        if(total_letras > 7)
                        { 
                            $(this).val( num.substring(0, num.length - 2) );
                            $(this).addClass("input_bloqueado");
                        }
                        else
                        {
                            $(this).removeClass("input_bloqueado");
                        }

                }
            }
        });

也就是说,如果用户输入的数字序列长于7位,则脚本必须混淆或删除这些数字。

1 个答案:

答案 0 :(得分:1)

如果您希望数字介于0到9之间,则可以尝试使用此正则表达式/((?:[1-9]\s*){7})/g/((?:\d\s*){7})/g

演示:

$('#texto').keyup(function(){
    var reg = /((?:[1-9]\s*){7})/g;
    var texto = $(this).val();
    var result = texto.replace(reg,"********") ;

    $("#texto").val( result );
    
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="texto" id="texto"/>