<input type="number" name="age" min="1" max="100" placeholder="请输入年龄"/>
//在谷歌浏览器中测试:min,max无效果,解决如下:
<input type="number" name="age" oninput="if(value.length>3)value=value.slice(0,3)" placeholder="请输入年龄"/>
<input type="text" maxlength="20" name="names" placeholder="请输入名字">
<textarea name="info" maxlength="200" placeholder="请输入介绍内容" ></textarea>
<input type="password" maxLength="20" name="passWord" placeholder="请输入密码">
<input type="tel" name="phoneNumber" placeholder="请输入手机号码" onblur="checkme(this)">
验证手机号
方法一:
function phonemsg(value){
if(value!=""){ //值不是空的时候再去走验证
if(!/^1[3|4|5|7|8]\d{9}$/.test(value)){
return '手机号格式不正确';
}
}
}
方法二: /^((0\d{2,3}-\d{7,8})|(1[3|4|5|7|8]\d{9}))$/
function checkme(obj){
var val=obj.value();
var mobilevalid = /^(0|86|17951)?(13[0-9]|15[012356789]|17[0678]|18[0-9]|14[57])[0-9]{8}$/;
if (!mobilevalid.test(val)) {
alert('请输入正确的手机号码!')
return false;
}
}
限制input长度
类型为number的maxlength限制无效果
类型为text,tel,password的maxlength限制有效
//可以
//没有效果
//js控制,可以
//tel类型,可以
此外,tel类型的input在ios上会调出全数字键盘,而number类型的input则会调出带有标点符号的键盘。
限制input输入框为纯数字:
a、onkeyup = “value=value.replace(/[^\d]/g,’’)”
使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母
b、onchange = “value=value.replace(/[^\d]/g,’’)”
使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应
c、oninput = “value=value.replace(/[^\d]/g,’’)”
使用 oninput 事件,完美的解决了以上两种问题,暂时还没有发现其它问题。