前言:
现在同学们对“jquery验证小数位数”可能比较关切,看官们都需要知道一些“jquery验证小数位数”的相关知识。那么小编也在网络上收集了一些对于“jquery验证小数位数””的相关内容,希望大家能喜欢,姐妹们快快来学习一下吧!为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。
HTML代码
<input type="text" class="force-sign-decimal-2-3" .../>
JS调用方法
$(document.body).find("input[type=text]").each(function() { // 验证输入内容 callCustomiseInputCheck(this); });
验证【负小数】类型方法
function callCustomiseInputCheck(inputObject) { jQuery.each(inputObject.classList, function(itemIndex, classItem) { //例:<input type="text" class="force-sign-decimal-2-3" .../> 整数部位数:2、小数部位数:3 if (/^force\-sign\-decimal\-\d{1,}\-\d{1,}$/.test(classItem)) { // 方法【runInputFilter】,参照【Jquery实时验证,只能输入指定长度的数字】 runInputFilter(inputObject, ',', function(value) { if (/^\-?\d*\.?\d*$/.test(value)) {//数字的场合 var jsInteger = value.split('.')[0];//整数部 var jsScale = value.split('.')[1];//小数部 //整数部分越界的场合 if (jsInteger && parseInt(jsInteger) > 0 && jsInteger.replace('-', '').length > parseInt(classItem.split('-')[3])) { return false; } //小数部分越界的场合 if (jsScale && parseInt(jsScale) > 0 && jsScale.length > parseInt(classItem.split('-')[4])) { return false; } return true; } else { //不是数字的场合 return false; } }); //格式化 postLostFocus(inputObject, function(inputObject) { if (!inputObject.value.contains('.')) { inputObject.value = inputObject.value + '.'; } var regExp = RegExp(/^(\-?)(0{1,})?(\d*\.?\d*)$/); var outPutArray = inputObject.value.match(regExp); inputObject.value = outPutArray[1] + outPutArray[3];//去除前面连续的0(例:「-0012⇒-12」、「-0012.23⇒-12.23」) blurDecimal(inputObject); //去掉负数0的负号 if (/^[\-0*\.?0*]*$/.test(inputObject.value)) { inputObject.value = inputObject.value.replace(/^(\-)([0*\.?0*]*)$/, function($0, $1, $2) { return $2; }); } }); //终止循环 return false; } });}
共通处理方法
/** * 绑定失去焦点时的处理 * @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验证小数位数