1. <input type="number" name="age" min="1" max="100" placeholder="请输入年龄"/>
  2. //在谷歌浏览器中测试:min,max无效果,解决如下:
  3. <input type="number" name="age" oninput="if(value.length>3)value=value.slice(0,3)" placeholder="请输入年龄"/>
  4. <input type="text" maxlength="20" name="names" placeholder="请输入名字">
  5. <textarea name="info" maxlength="200" placeholder="请输入介绍内容" ></textarea>
  6. <input type="password" maxLength="20" name="passWord" placeholder="请输入密码">
  7. <input type="tel" name="phoneNumber" placeholder="请输入手机号码" onblur="checkme(this)">

验证手机号

方法一:

  1. function phonemsg(value){
  2. if(value!=""){ //值不是空的时候再去走验证
  3. if(!/^1[3|4|5|7|8]\d{9}$/.test(value)){
  4. return '手机号格式不正确';
  5. }
  6. }
  7. }

方法二: /^((0\d{2,3}-\d{7,8})|(1[3|4|5|7|8]\d{9}))$/

  1. function checkme(obj){
  2. var val=obj.value();
  3. var mobilevalid = /^(0|86|17951)?(13[0-9]|15[012356789]|17[0678]|18[0-9]|14[57])[0-9]{8}$/;
  4. if (!mobilevalid.test(val)) {
  5. alert('请输入正确的手机号码!')
  6. return false;
  7. }
  8. }

限制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 事件,完美的解决了以上两种问题,暂时还没有发现其它问题。