前言:
此时大家对“jquery文本框删除特定值”大约比较看重,姐妹们都需要分析一些“jquery文本框删除特定值”的相关文章。那么小编在网络上收集了一些对于“jquery文本框删除特定值””的相关资讯,希望姐妹们能喜欢,你们一起来了解一下吧!在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,
在输入数据时,实时校验输入内容是否正确,
失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。
HTML代码
<input type="text" class="force-sign-decimalToFixed-2-3" .../>
JS调用方法
$(document.body).find("input[type=text]").each(function() { // 验证输入内容 callCustomiseInputCheck(this); });
实时校验【负小数】,小数位未满时补0。
function callCustomiseInputCheck(inputObject) { jQuery.each(inputObject.classList, function(itemIndex, classItem) { //例:<input type="text" class="force-sign-decimalToFixed-2-3" .../> 整数部桁数:2、小数部桁数:3 if (/^force\-sign\-decimalToFixed\-\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 == "") { return false; } 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」) var classItemLength = classItem.split('-').length if (classItemLength == 5) {//指定小数位数的场合 var jsScale = parseInt(classItem.split('-')[4]);//小数部 inputObject.value = inputObject.value.split('.')[0] + '.' + inputObject.value.split('.')[1]).padEnd(jsScale, '0')//小数末尾补0 } 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; }); } }); //终止循环 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文本框删除特定值 #jquery中文字符串长度