分享一下本身寫的js函數javascript
第一步:html
js的元字符‘\D’表示匹配一個非數字字符,因此咱們在一個輸入框裏這樣設置java
<input onkeydown="this.value=this.value.replace('/\D/g','');"/>
就能夠禁止輸入非數字。函數
封裝成一個js函數:this
function keymobile(obj) { obj.value=obj.value.replace('/\D/g','')); }
第二步,手機號的長度都是11位,因此限制數據框字符長度只能最大11位code
<input onkeydown="this.value=this.value.replace('/\D/g','');" maxlength="11"/>
封裝成js函數htm
function keymobile(obj) { obj.maxlength=11; obj.value= obj.value.replace('/\D/g',''); }
或者這樣作也能夠ip
function keymobile() { obj.value= obj.value.replace('/\D/g',''); obj.value = obj.value.substr(0,11); }
第三步:input
加上匹配手機號的正則,咱們這個函數最後能夠寫成這樣:io
function inputmobile(obj) { obj.value = obj.value.replace(/\D+/g,''); if (obj.value.length >=11) { obj.value = obj.value.substr(0,11); var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/g; if(!myreg.test(obj.value)) { obj.value = '請輸入正確的手機號'; } } }