1.第一种方法:input属性为number,做if判断,然后slice选取 (目前使用过此方法,比较简单)用于添加地址时的手机号码框
<input type="number" oninput="if(value.length>4)value=value.slice(0,4)" />
2.第二种方法:input属性为text,maxlength为最大长度,onkeyup onafterpaste 限制只能输入数字
<input type="text" placeholder="只能输入四位数字字符" class="input" id="input" maxlength="4" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^19]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-19]/g,'')}else{this.value=this.value.replace(/\D/g,'')}">
1> 只能输入中文:
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
2> 只能输入数字和英文:οnkeyup=“value=value.replace(/[\W]/g,’’)”
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"