最近写了个小程序有个input输入框要求对输入的数字做限制:

1.输入必须为数字
2.输入的数字不能超过万
3.

<template>
	<input class="inputPrice" :maxlength="maxLength" type="digit" v-model="currentPrice" @input="checkPrice">
	<!-- input的 type的类型: text(文本输入键盘) , number(数字输入键盘), idcard(身份证输入键盘), digit(带小数点的数字键盘) 这是数字键盘并且要设置小数字所以设置为 digit-->
</template>
<script>
	export default {
		data() {
			return {
				
				currentPrice: ''
			}
		},
		methods: {
			checkPrice: function(e) {
				let that = this;
				let price = e.detail.value
				let maxLength = price.indexOf('.');
				if (price.indexOf(".") < 0 && price != "") {
					//'超过4位则大于万元'
					if (price.length > 4) {
						price = price.substring(0, price.length - 1)
						uni.showToast({
							title: '金额最高不能超过1万元',
							icon: 'none'
						})
					} else {
						price = parseFloat(price);
					}
				} else if (price.indexOf(".") == 0) {
					//'首位小数点情况'
					price = price.replace(/[^$#$]/g, "0.");
					price = price.replace(/\.{2,}/g, "");
				} else if (!(/^(\d?)+(\.\d{0,1})?$/.test(price))) {
					//去掉最后一位
					price = price.substring(0, price.length - 1)
				}
 
			}
		}
	}
</script>
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐