正则表达式解决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: "请勿输入特殊字符!" })
总结:好好学习正则表达式,超重要!!!
相关推荐
huha 2020-10-16
echoes 2020-08-20
nercon 2020-08-01
zhanghaibing00 2020-06-28
Aveiox 2020-06-25
henryzhihua 2020-06-21
zhoutaifeng 2020-06-17
liangzhouqu 2020-06-16
TONIYH 2020-06-11
开心就好 2020-06-10
x青年欢乐多 2020-06-06
KyrieHe 2020-06-03
bertzhang 2020-06-02
haokele 2020-05-29
niehanmin 2020-05-28
davidliu00 2020-05-26
JackLang 2020-05-15