正则表达式解决input框固定输入值得格式(金额,特殊字符)

在写输入用到input的时候,经常出现以下几种情况:

只能输入某。栗子:只能输入数字,只能输入字母(大写,小写)只能输入某固定格式。栗子:只能输入金额,只能输入小数且最多保留2位不能输入某。栗子:不能输入特殊字符,如“@#¥%&*”等

这种情况下,就需要直接在input上进行限制,在前端的应用中主要是用正则表达式来解决这些问题的

第一种情况:只能输入某

<template>
<div id="app">
{{value}}
<el-input 
v-model="value" 
clearable
size="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: "请勿输入特殊字符!"
})

总结:好好学习正则表达式,超重要!!!

关于正则表达式解决input框固定输入值得格式(金额,特殊字符)的文章就介绍至此,更多相关input框固定输入值得格式内容请搜索编程宝库以前的文章,希望大家多多支持编程宝库

这篇文章主要介绍了正则表达式中两个反斜杠的匹配规则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下