正整数
oninput="value=value.replace(/[^\d]/g,'')"
在el-input中添加onkeyup使用中文输入法导致验证失效
当输入为非数字时会被""替换掉,但是使用中文输入法时,虽然也能过滤非数字,但是过滤之后表单的非空验证不通过
应为:
@input ="value => form.ziduanming=value.replace(/[^0-9.]/g,'')",
正数-保留两位小数
oninput="this.value= this.value.match(/\d{0,9}(\.\d{0,2})?/) ? this.value.match(/\d{0,9}(\.\d{0,2})?/)[0] : ''"
正负整数
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');"
不能输入空格
onKeypress="javascript:if(event.keyCode== 32)event.returnValue = false;"
小于等于100的整数
oninput="value=value.replace(/[^\d]/g,'');if(value>100)value=100"/
可输入的位数(length)
例如 64位以内的
onkeyup="this.value= this.value.match(/^.{0,64}/) ? this.value.match(/^.{0,64}/) : ''"
正数,保留两位小数
-----------------------------------------start-----------------------------------------
<el-input
v-model="form.xxx"
clearable
type="number"
@keydown.native="limitInputValue"
oninput="if(isNaN(value)) { value = parseFloat(value) }
if(value < 0) { value = 0 }
if(value.indexOf('.') == -1 && value.length > 6) { value = value.slice(0,6) }
if(value.indexOf('.') >= 6) { value = value.slice(0,6) + value.slice(value.indexOf('.'),value.indexOf('.') + 3) }
if(value.indexOf('.') > -1 && value.indexOf('.') <= 6) { value=value.slice(0,value.indexOf('.')) + value.slice(value.indexOf('.'),value.indexOf('.') + 3) }
if(value.indexOf('0') == 0 && value.indexOf('.') !== -1) { value=value.slice(0) }
if(value.indexOf('0') == 0 && value.indexOf('.') === -1 && value.length > 1) { value=value.slice(1) }"
/>
输入框类型为‘number’时,输入框是可以输入 + - e 需要屏蔽这些内容
limitInputValue(e) {
let key = e.key;
if (
key === 'e' ||
key === 'E' ||
key == '+' ||
key === '-'
) {
e.returnValue = false;
return false;
}
return true;
},
因为type设置为number,输入框旁边会出现箭头,需要在css里隐藏侧边箭头,并且输入法为中文时,输入后光标会上移错误,需要调整
//隐藏输入框右侧向上向下箭头
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
}
input::-webkit-outer-spin-button {
-webkit-appearance: none !important;
}
input[type='number'] {
-moz-appearance: textfield;
}
//输入法为中文状态下光标错位
.el-input__inner {
line-height: 1px !important;
}
-----------------------------------------end-----------------------------------------