当前位置: 首页 > Web前端 > HTML

正负数,支持小数,可调位数(V2)

时间:2023-03-28 00:55:18 HTML

/***只能输入固定位数的正负数,允许输入小数。*@param{object}opt配置对象*@examplethis.$fc.numDxsCheck({form:form,key:'companyName',ws:4,fu:true}**/exportfunctionnumDxsCheck(opt){constallOpt={form:null,//objectkey:'money',//键名,如果不叫money,需要传入一个新的键名ws:'',//小数点后几位,默认unlimited,pass1Represents1decimalplacetype:'Number',//默认数值类型的字符串不支持开头多个0;传入一个String,支持以下格式00.1;0001221。一般会有应该没有这样的使用要求。fu:false//是否支持负号};for(letkeyinopt){allOpt[key]=opt[key];}allOpt.form[allOpt.key]=allOpt.form[allOpt.key]+'';if(allOpt.type==='Number'){//第一个数字是0,第二个必须是。如果(allOpt.form[allOpt.key].slice(0,1)==='0'){allOpt.form[allOpt.key]=allOpt.form[allOpt.key].slice(1,2)!=='.'?'0':allOpt.form[allOpt.key];}//第一位是-0,第三位必须是。if(allOpt.form[allOpt.key].slice(0,2)==='-0'){allOpt.form[allOpt.key]=allOpt.form[allOpt.key].slice(2,3)!=='.'?'-0':allOpt.form[allOpt.key];}}//首先替换所有非数字,除了数字和.if(allOpt.fu){allOpt.form[allOpt.key]=allOpt.form[allOpt.key].replace(/[^\d.-]/G,'');}else{allOpt.form[allOpt.key]=allOpt.form[allOpt.key].replace(/[^\d.]/g,'');}//必须确保第一个是数字。allOpt.form[allOpt.key]=allOpt.form[allOpt.key].replace(/^\./g,'');//保证只有一个。不是多个。allOpt.form[allOpt.key]=allOpt.form[allOpt.key].replace(/\.{2,}/g,'.');//确保只有一个-符号出现在开头和结尾allOpt.form[allOpt.key]=allOpt.form[allOpt.key].slice(0,1)+allOpt.form[allOpt.key].slice(1,allOpt.form[allOpt.key].length)。替换(/\-/g,'');//动态正则化,小数位动态处理constc=newRegExp('^(\\-)*(\\d+)\\.(\\d{0,'+allOpt.ws+'})\.*$');//只能输入两位小数allOpt.form[allOpt.key]=allOpt.form[allOpt.key].replace(c,'$1$2.$3');}