当前位置 博文首页 > 正则表达式解决input框固定输入值得格式(金额,特殊字符)

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

    作者:XinYiMiao喵 时间:2021-08-15 19:01

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

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

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

    第一种情况:只能输入某

    <template>
     <div >
     {{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: "请勿输入特殊字符!"
     })

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

    jsjbwy
    下一篇:没有了