本文介绍如何利用JavaScript的onkeydown事件和event.keyCode属性,结合ASCII码表来限制用户输入。通过定义isNumeric、isAlpha和isAlphaOrNumeric函数,分别判断数字、字母或混合输入。同时结合onpaste事件禁用粘贴功能,确保文本框仅接受指定的字符类型。
利用ASCII码验证输入类型
我们可以通过监听onkeydown事件中的event.keyCode值,并对照ASCII Chart(ASCII码表)来区分用户输入的是字符还是数字。以下是相关键盘按键对应的ASCII码参考:
参考下方提供的JavaScript代码实现。:
具体实现代码如下:
<script type = "text/javascript">
function isNumeric(keyCode)
{
return ((keyCode >= 48 && keyCode <= 57) || keyCode == 8)
}
</script>
<script type = "text/javascript">
function isAlpha(keyCode)
{
return ((keyCode >= 65 && keyCode <= 90) || keyCode == 8)
}
</script>
<script type = "text/javascript">
function isAlphaOrNumeric(keyCode)
{
return ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || keyCode == 8)
}
</script> 禁用粘贴功能的完整示例
示例场景:限制用户只能输入字符和数字,并通过onpaste事件禁止粘贴操作。
代码如下:
<asp:TextBox ID="TextBox1" runat="server" onkeydown = "return isAlphaOrNumeric(event.keyCode);" onpaste = "return false;"></asp:TextBox>