input输入框控制输入的字符串符合数字格式
如果需求的数字过大,超过了js的安全数(2的53次方),则可以输入字符串,控制字符串的输入规则。
data(){return {iptval:"", }
},
methods:{iptKeyup(e){this.iptval = this.iptControl(e.target.value);console.log(e.target.value); // 当前输入框的值},// 这里以两位小数举例iptControl(val){let newval = []; // 处理前的值的数组let newvalNum = []; // 处理后的值的数组val = val + ""; // 将val转化成字符串if(val!==""){ // 如果val为空字符串,不作处理newval = val.split(""); // 将val拆分成数组let indexOfPoint = newval.indexOf('.'); // 查询输入内容中是否有小数点.if(indexOfPoint > -1){ // 如果输入内容中有小数点// 保留第一个小数点后两位(限制两位小数)newval = newval.slice(0, (indexOfPoint+3)); // 处理小数点后两位// 后两位都是小数点if(newval[indexOfPoint + 1] == "." && newval[indexOfPoint + 2] == "."){ newval.splice((indexOfPoint + 1),2);}// 后两位的第一位是小数点if(newval[indexOfPoint + 1] == "." && newval[indexOfPoint + 2] !== "."){ newval.splice((indexOfPoint + 1),1);}// 后两位的第二位是小数点if(newval[indexOfPoint + 1] !== "." && newval[indexOfPoint + 2] == "."){ newval.splice((indexOfPoint + 2),1);}}// 过滤空格和非数字、非小数点内容newval.map(item => {if(item !== " " && ((isNaN(item-0) == false) || item == ".")){ newvalNum.push(item)}});// 如果首位是小数点,去掉if(newvalNum[0] == "."){newvalNum.unshift(0)}// 如果首位是0,那第二位一定要是小数点if(newvalNum.length >= 2){if(newvalNum[0] == "0" && newvalNum[1] !== "."){newvalNum.pop()}}}return newvalNum.join("")}}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
