input框输入手机号的约束
<input @input="onlyNum" class="inp" v-model="phone" name="phone" type="number" maxlength="11" placeholder="请输入您的联系电话" placeholder-class="pl-style" @blur="replaceInput" />
onlyNum(){
if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
event.returnValue=false; //执行至该语句时,阻止输入;可类比阻止冒泡原理或者禁止右键功能;
},
replaceInput(event){
var phone = event.target.value;
let regs = /^1[3|4|5|7|8][0-9]{9}$/;
if(!regs.test(phone)){
this.$tools.toast('填入的电话号码有误,请重填');
this.phone = null;
return false;
}
}
input框对于输入特殊字符的约束
<input class="inp" v-model="toBaADistributor.trueName" name="trueName" placeholder="请输入您的姓名" @input="replaceInput" placeholder-class="pl-style" />
// 当姓名输入框为数字或符号时,替换为没有非法字符的
replaceInput(event){
this._timer=setTimeout(()=>{
clearTimeout(this._timer)
var value = event.target.value;
//匹配数字的正则表达式
var patt = /.*[0-9]{1,}.*/i;
//匹配特殊字符的正则表达式
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
let _str=""
for(let i=0,len=value.length;i<len;i++){
_str+=value[i].replace(pattern,'').replace(patt,'')
}
this.toBaADistributor.trueName = _str;
},1)
},