input输入框限制
input输入框限制
数字规则
只能输入整数
<input type="text" name="" oninput="value=value.replace(/[^\d]/g,'')">
大于0的正整数
<input type="text" value="" onkeyup="this.value = this.value.replace(/\D|^0/g,'')"/>
包括0的正整数
<input type="text" value="" onkeyup="this.value = this.value.replace(/\D/g,'')"/>
十一位整数
<input type="text" value="" onkeyup="this.value = this.value.match(/(\d{1,11})/) ? this.value.match(/(\d{1,11})/)[0] : ''"/>
负数,且十一位整数
<input type="text" value="" onkeyup="this.value = this.value.match(/(\-{0,1}\d{0,11})?/) ? this.value.match(/(\-{0,1}\d{0,11})?/)[0] : ''"/>
只能输入数字,且保留俩位小数
<input type="number" min="0" max="100" step="0.01"/>
正数,且保留两位小数
<input type="text" value="" onkeyup="this.value = this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''" />
负数,且保留两位小数
input type="text" value="" οnkeyup="this.value = this.value.match(/\-?(\d+(\.\d{0,2})?)?/) ? this.value.match(/\-?(\d+(\.\d{0,2})?)?/)[0] : ''" />
只能输入数字,且保留俩位小数(函数解决)
<input type="text" onkeyup="clearNoNum(this)" οnblur="clearNoNum(this)" />
函数:
function clearNoNum(obj)
{
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
//只能输入两个小数
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
}
其他规则
去除中英文逗号
<input type="text" value="" onkeyup="this.value = this.value.replace(/[,,]/g,'')"/>
只能输入中文,且30个字以内
<input type="text" value="" onkeyup="this.value = this.value.match(/([\(\)\u4E00-\u9FA5]{0,30})/) ? this.value.match(/([\(\)\u4E00-\u9FA5]{0,30})/)[1] : ''"/>
数字和字母(大小写)组合,且长度16位以内
<input type="text" value="" onkeyup="this.value = this.value.match(/([a-zA-Z0-9]{0,16})/) ? this.value.match(/([a-zA-Z0-9]{0,16})/)[0] : ''"/>
本文介绍了多种HTML输入框的限制规则,包括只允许输入正整数、包含0的正整数、十一位整数及负数,且能保留两位小数。此外,还涉及了去除中英文逗号、限制输入中文、数字和字母组合的长度。通过示例代码展示了如何使用正则表达式和函数实现这些验证功能。
1万+

被折叠的 条评论
为什么被折叠?



