el-input输入框数字,小数点,字母等多种类型限制
·
1.只能输入数字
<el-input
v-model="rowForm.carriage"
clearable
size="small"
style="width: 90px"
@input="value => rowForm.carriage= Number(value.replace(/[^\d]/g,''))"
/>
或者公共方法
// 只能输入数字
export function setNumberValue(value) {
if (value !== "") {
// 保留数字部分
value = Number(value.replace(/\D/g, ""));
// 如果结果为零,则返回1,否则返回处理后的数字
return value === 0 ? 1 : value;
} else {
// 如果值为空字符串,则返回 null
return null;
}
}
//使用 @input='handleInputId'
handleInputId (value) {
this.$set(this.form, "id", setNumberValue(value));
},
2.输入数字和小数点
@input="rowForm.carriage= rowForm.carriage.replace(/[^\d|\.]/g, '')"
3.只能输入数字和保留2位小数点
oninput="value= value.match(/\d+(\.\d{0,2})?/) ? value.match(/\d+(\.\d{0,2})?/)[0] : ''"
4.只能输入数字和英文
onkeyup="value=value.replace(/^[a-zA-Z0-9]+$/, '')"
// 只能输入数字和英文
export function setNumberValue2(value) {
const regex = /^[a-zA-Z0-9]+$/;
if (regex.test(value)) {
return value;
} else {
// 输入特殊符号,返回原始值中的字母和数字部分 如输入123s@,保留123s
return value.replace(/[^a-zA-Z0-9]/g, "");
}
}
5.只能输入中文、数字、英文,不包含符号
<el-input oninput="value=value.replace(/[^\w\u4E00-\u9FA5]/g, '')">
6.只能输入英文,数字,不能输入中文
oninput="value=value.replace(/[^\w\.\/]/ig,'')"
7.只能输入中文,其他都不可输入
<el-input v-model="rowForm.carriage" clearable @input="handleInput"/>
handleInput() {
const regex = /^[\u4e00-\u9fa5]+$/; // 中文字符的正则表达式
if (!regex.test(this.rowForm.carriage)) {
this.rowForm.carriage = '';
}
},
或者
<el-input type="text"οnkeyup="this.value=this.value.replace(/[^\u4e00\u9fa5]/g,'')"/>
8.只能英文,其他不可
<el-input type="text" onkeyup="this.value=this.value.replace(/[^a-zA-Z]/g,'')">
更多推荐
已为社区贡献3条内容
所有评论(0)