input 限制输入必须大于0的正数,只可保留两位小数
//js
validatePrice(value) { var reg = /^[1-9]{1}\d*/; // 不能以0开头 value = value .replace(/[^\d.]/g, '') //清除“数字”和“.”以外的字符 .replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的 .replace('.', '$#$') .replace(/\./g, '') .replace('$#$', '.') .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') .replace(/^\./g, ''); if (!reg.test(value)) { value = ''; } setTimeout(() => { this.price = value; }, 1); }
<u-input maxlength="8" v-model="price" placeholder="请填写商品价格" placeholder-style="color:#D1D1D1;" @input="e => validatePrice(e)" :custom-style="{ fontSize: '32rpx', color: '#333333', padding: '0 30rpx' }" />