uniapp输入框最值设置问题以及vue中的一些输入限制问题

2,772 阅读1分钟

uniapp的输入框最大值设置问题

1.使用uni-number-box,然后定义:max="最大值"即可,但是对应的组件大小不好改且不美观

2.使用原生,定义blur事件,传值对应的对象或属性,并在函数中进行事件修改,具体如下:

<input class="backcolorF5 radius10 bottom10" type="number" v-model="item.testingValue" @blur="inputBlur(item)"
									:disabled="tmMaterial.taskIndex != '02'" />                                                                  

函数:

inputBlur(item){
			  if(item.testingValue >=that.practicalValue){
			    this.$set(item,'testingValue','0');  // 使用 $set 赋值
			  }
			  // to do something
			},

调用$set改属性即可,第二个是对象的某个熟悉,第三个是事件的执行值,需要失去焦点触发

vue中输入框限制问题(正则)

正整数输入限制:

a.oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"
b.@input="generateForm.purchaseNumber=generateForm.purchaseNumber.replace(/^(0+)|[^\d]+/g,'')"
c.onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode || event.which))) || event.which === 8"

整数:

oninput="value=value.replace(/^0+(\d)|[^\d]+/g,'')"

小数点后六位

onkeyup="this.value= this.value.match(/\d+(\.\d{0,6})?/) ? this.value.match(/\d+(\.\d{0,6})?/)[0] : ''"