分享一下本身写的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 = '请输入正确的手机号'; } } }