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

(编辑:jimmy 日期: 2024/11/14 浏览:2)

在写输入用到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})"error",
  message: "请输入小于1的两位小数!"
 })
 this.value = ''
}

金额

if(value.length > 12){
	this.$message({
  type: "error",
  message: "长度超过12,请重新输入"
 })
 this.value = ''
 return
}
if(!(/(^[1-9]([0-9]+)"error",
  message: "只能输入数字,请重新输入!"
 })
 this.value = ''
}

第三种情况不要输入某

var patrn = /[`~!@#$%^&*_\-+=<>"{}|\/;'\\[\]·~!@#¥%……&*————\-+={}|《》?“”【】‘'、]/gim;
if (patrn.test(val)) {
 this.$message({
  type: "error",
  message: "请勿输入特殊字符!"
 })

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

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。