利用vue.js 实现输入框输入值自动过滤特殊字符的功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<Input v-model="relatedWords" type="textarea" placeholder="请输入" @input='verifyInput(formItem.relatedWords)'/>
verifyInput(v){ let _this=this; let punctuation = /[`~!@#$%^&*_\-=<>?:"{}|.\/;'\\[\]·~!@#¥%……&——\-={}|《》?:“”【】、;‘'。、]/im; let arr=v.split('') let str='' arr.map(i=>{ if(!punctuation.test(i)){ str+=i } }) str=str.replace(/(/g,'(') str=str.replace(/)/g,')') str=str.replace(/,/g,',') this.$nextTick(j=>{ this.relatedWords=str }) },
补充知识:vue el-input 禁止输入特殊字符 只可输入数字 正则验证
我就废话不多说了,大家还是直接看代码吧~
<el-input size="small" v-model="city" placeholder="请输入城市名称" @blur="addCity(scope.$index)" @keyup.native="btKeyUp" @keydown.native="btKeyDown" ></el-input> // methods内 // 只能输入汉字、英文、数字 btKeyDown(e) { e.target.value = e.target.value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,""); }, //限制输入特殊字符 btKeyUp(e) { e.target.value = e.target.value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g,""); }
在el-input 内 使用 keyup等事件 需要添加 .native 否则无法正常执行事件
下面是 只可输入数字
<el-input size="small" v-model="scope.row.order_number" v-show="scope.row.isShowInp_order" @blur="editOrder(scope.$index,scope.row)" v-focus @keyup.native="UpNumber" @keydown.native="UpNumber" class="table_input" ></el-input> // 只可输入数字 UpNumber(e) { e.target.value = e.target.value.replace(/[^\d]/g,""); }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。