介绍
在web开发中,经常需要对输入框进行限制,比如只能输入数字或者只能输入特定长度的字符。本文主要讲解如何在html5中设置输入框只能输入数字。
input标签的type属性
在html5中,input标签有一个type属性,这个属性用于指定输入框的类型,比如文本框、密码框、日期选择框等等。其中,type属性中的number类型就代表了只能输入数字的输入框。
input标签的其他属性
max和min属性
max和min属性用于限制输入的数字的最大值和最小值,如果输入的数字超过最大值或者小于最小值,则会提示输入不符合要求。这两个属性的取值为数字类型。
<input type="number" min="1" max="100">
可以看到,通过min和max属性可以轻松实现只能输入数字的输入框。
step属性
step属性用于指定数字的步进值,即每次增加或减少的幅度。取值为数字类型。
<input type="number" step="0.1">
例如,上面的代码表示每次增加或减少0.1。
pattern属性
pattern属性用于指定输入框中可输入的值的模式。取值为正则表达式类型。通过指定一个正则表达式,可以实现更复杂的限制。
<input type="text" pattern="[0-9]*">
上面的代码中,pattern属性指定了一个正则表达式,表示只能输入数字。
javascript验证
除了使用上述html5的属性外,我们也可以使用javascript来实现输入框只能输入数字。下面是一个简单的例子:
<script>
function isNumberKey(event) {
var charCode = (event.which) ? event.which : event.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
return false;
return true;
}
</script>
<input type="text" onkeypress="return isNumberKey(event)">
上面的代码中,isNumberKey函数用于判断输入的字符是否为数字,如果是数字则返回true,否则返回false。然后在输入框的onkeypress事件中调用该函数,如果返回false,则表示输入不符合要求。
总结
以上就是在html5中设置输入框只能输入数字的几种方法。通过这些方法,我们可以很容易地实现对输入框的限制,从而避免用户输入非法字符。需要注意的是,在使用正则表达式进行限制时,应该尽量保证正则表达式的复杂度不要太高,以免影响用户体验。