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

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

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

这种情况下,就需要直接在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: "请勿输入特殊字符!"
 })

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值