限制input输入长度与内容

本文介绍了如何限制HTML input元素的输入长度和内容。对于数字类型,通过监听input事件并利用slice方法限制长度;对于文字或字符类型,可以使用maxlength属性。此外,讨论了在iOS上tel与number类型input的区别。同时,文章提供了限制输入为纯数字的解决方案,推荐使用oninput事件以获得更好的显示效果。

1、限制输入长度

  • 如果输入的是数字(type是number类型),通过监听input事件再通过slice进行截取限制长度
<input type="number" oninput="f(value.length>6)value=value.slice(0,4)">
  • 如果输入的是文字或者字符(type是text、password和tel类型),就会有一个maxlength属性进行限制长度
<input type="text" placeholder="只能输入六个字符" maxlength="6">

tel类型的input在ios上会调出全数字键盘,而number类型的input则会调出带有标点符号的键盘。

2、限制输入内容:限制input输入为纯数字

  • οnkeyup=“value=value.replace(/[\D]/g,’’)”
<input type="text" placeholder="只能输入数字"  onkeyup="value=value.replace(/[\D]/g,'')">
  • οnchange=“value=value.replace(/[\D]/g,’’)”
<input type="text" placeholder="只能输入数字"  onchange="value=value.replace(/[\D]/g,'')">

onkeyup是在键盘抬起的时候触发,onchange是在input输入框失焦的时候触发,会发现虽然目的达到了,但是显示效果不太好。

  • 更好的方法就是使用:οninput=“value=value.replace(/[\D]/g,’’)”
<input type="text" placeholder="只能输入数字"  oninput="value=value.replace(/[\D]/g,'')">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值