VUE之elementUI组件:输入金额的限制(两位小数、不能0或.开头 只能输入数字和.)

参考了几种金额判断是方法整合了下方法:


date(){const validatorMoney = (rule,value,callback)=>{let isVal = value.toString() //先转换成字符串类型let regnumDot = /[^\d.]/gif(isVal  === ''){callback(new Error('请输入金额'))} else if (isVal.indexOf('.') === 0) {this.form.money = '0' + isVal} else if (isVal.indexOf('.') < 0 && isVal != "") {this.form.money = parseFloat(isVal)//如果没有小数点,首位不能为类似于 01、02的金额} else if (regnumDot .test(isVal )) {this.form.money = isVal.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符callback(new Error('只能输入“数字”和“.”的字符'))} else if (isVal.split(".").length - 1 > 1) {this.form.money = isVal.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的} else if (isVal.indexOf('.') >= 1) {this.form.money = isVal.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数callback(new Error('只能输入两个小数'))}}return {form:{money: 0},rules: {money: [{validator: validatorMoney, trigger: 'change'}]}}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部