龙空技术网

编程技巧:Jquery实时验证,指定长度的「负整数」

天高凭鸟飞海阔任鱼跃 222

前言:

当前小伙伴们对“jquery禁止输入”大致比较注重,大家都想要剖析一些“jquery禁止输入”的相关资讯。那么小编也在网上汇集了一些关于“jquery禁止输入””的相关资讯,希望大家能喜欢,朋友们一起来了解一下吧!

为了保障【负整数】的正确性,在只能输入负整数的项目里,增加实时验证功能,

用户只能输入指定长度的【负整数】。以外的场合禁止输入。

HTML代码

<input type="text" class="force-sign-number-format-10" .../>

JS调用方法

    $(document.body).find("input[type=text]").each(function() {        // 验证输入内容        callCustomiseInputCheck(this);    });

验证【负整数】类型方法

function callCustomiseInputCheck(inputObject) {    jQuery.each(inputObject.classList, function(itemIndex, classItem) {        if (/^force\-sign\-number\-format\-\d{1,}$/.test(classItem)) {            //例:<input type="text" class="force-sign-number-format-10" .../>            // 方法【runInputFilter】,参照【Jquery实时验证,只能输入指定长度的数字】            runInputFilter(inputObject, ',', function(value) {                var strSignRegExp = '^\\-\\d{0,' + classItem.split('-')[4] + '}$';                var signRegExp = RegExp(strSignRegExp);                var strRegExp = '^\\d{0,' + classItem.split('-')[4] + '}$';                var regExp = RegExp(strRegExp);                return signRegExp.test(value) || regExp.test(value);            });            //格式化            postLostFocus(inputObject, function(inputObject) {                // 去掉前面连续的0                if (inputObject.value != null) {                    inputObject.value = inputObject.value.replaceAll(/^-(0*)(\d*\d{1})$/ig, function($0, $1, $2) {                        return '-' + $2;                    });                    inputObject.value = inputObject.value.replaceAll(/^(0*)(\d*\d{1})$/ig, function($0, $1, $2) {                        return $2;                    });                }                inputObject.value = CommonUtilJs.addComma(inputObject.value);                //如果时负数0,去掉负数                if (/^[\-0*\.?0*]*$/.test(inputObject.value)) {                    inputObject.value = inputObject.value.replace(/^(\-)([0*\.?0*]*)$/, function($0, $1, $2) {                        return $2;                    });                }            });        }    });}

共通处理方法

/** * 绑定失去焦点时的处理 * @param textbox HTML输入框 * @param lostFocusFunction 失去焦点时的处理 * 例:postLostFocus(ocument.getElementById("XXX"),functionXXXXX); */function postLostFocus(textbox, lostFocusFunction) {    ["focusout"].forEach(function(event) {        var eventCommonPostLostFocus = function(event) {            lostFocusFunction(this);        }      // 参照文章【前端Jquery调用on或bind方法,避免重复绑定】        addEventExtras(textbox, event, eventCommonPostLostFocus);    });}function CommonUtilJs() { }//数值格式化CommonUtilJs.addComma = function(value) {    var patern = /^([\+\-]?\d+)(\d{3})([\,\d+]*)(\.\d+)?$/;    var rep = "";    var val = "";    if (value != undefined && value != null) {        val = String(value);        while (rep != val) {            rep = val;            val = rep.replace(patern, "$1,$2$3$4");        }    }    return val;};

标签: #jquery禁止输入