input框固定输入值得格式(金额,特殊字符)【正则表达式】
在写输入用到input的时候,经常出现以下几种情况:
- 只能输入某。栗子:只能输入数字,只能输入字母(大写,小写)
- 只能输入某固定格式。栗子:只能输入金额,只能输入小数且最多保留2位
- 不能输入某。栗子:不能输入特殊字符,如“@#¥%&*”等
这种情况下,就需要直接在input上进行限制,在前端的应用中主要是用正则表达式来解决这些问题的
第一种情况:只能输入某
<template><div id="app">{{value}}<el-input v-model="value" clearablesize="small"class="row-value "@input="numCheck(value)"//这里我使用的是input,每输入一次就会检查,也可以使用change改变时检查或blur失去焦点时检查。></el-input></div>
</template><script>export default {name: "app",data() {return { value:''};},methods: {numCheck(val){if(val != ''){if (/[^1-9]/.test(val)) {//如果不能输入数字就去掉^,/[1-9]/.test(val)//只能输入字母,/[^A-z]/.test(val)//只能输入字母或数字(如密码),/[^1-9A-z]/).test(val)this.$message({type: "error",message: "只能输入数字,请重新输入!"})this.value = ''}}}}};
</script>
第二种情况只能输入某固定格式
只能输入小于1的两位小数
if(value > 1){this.$message({type: "error",message: "请输入小于1的数!"})this.value = ''return
}
if (!(/^([0-9]*)+(.[0-9]{1,2})?$/).test(val)) {this.$message({type: "error",message: "请输入小于1的两位小数!"})this.value = ''
}
金额
if(value.length > 12){this.$message({type: "error",message: "长度超过12,请重新输入"})this.value = ''return
}
if(!(/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/).test(value)){this.$message({type: "error",message: "只能输入数字,请重新输入!"})this.value = ''
}
第三种情况不要输入某
var patrn = /[`~!@#$%^&*_\-+=<>?"{}|\/;'\\[\]·~!@#¥%……&*————\-+={}|《》?“”【】‘’、]/gim;
if (patrn.test(val)) {this.$message({type: "error",message: "请勿输入特殊字符!"})
总结:好好学习正则表达式,超重要!!!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
