uniapp输入框金额正则验证

194 阅读1分钟

输入框金额正则验证

开发中经常会遇到输入框输入金额的业务,现完成功能开发后进行记录。

具体实现的功能如下:

  • 输入01自动修改为1;
  • 输入最大值为99999.99;
  • 只可输入一个小数点;

具体代码如下:

<input class='number_input' @input="handleInput" placeholder="请输入金额" type="digit" />
let a = ""
	const handleInput = e => {
		const value = e.target.value
		let reg
		if (value < 1) {
			reg = /^0\.\d?[1-9]?$/
		} else if (value.includes(".")) {
			reg = /^[1-9]\d{1,4}\.\d{0,2}$/
		} else {
			reg = /^[1-9]\d{1,4}$/
		}
		const regu = new RegExp(reg)
		if (value.length <= 1) {
			a = value
		} else if (value.indexOf(0) == 0 && !value.includes(".")) {
			a = parseFloat(value)
		} else if (regu.test(value)) {
			a = value
		}
		state.number = a
		return state.number
	}

此贴为个人学习记录,便于以后使用!