onkeypress
在ASP.NET WebForm中不使用textbox
我想防止特殊字符和字母
以下是aspx
<wijmo:C1InputText ID="SAC" runat="server" Style="width: 150px; display: inline-block;" onkeydown="return onlyNumbers(this,event);">
</wijmo:C1InputText>
function onlyNumbers(txt, event) {
var charCode = (event.which) ? event.which : event.keyCode
if (charCode == 46) {
if (txt.value.indexOf(".") < 0)
return true;
else
return false;
}
var regex = new RegExp("^[a-zA-Z0-9]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode!=190)
return false;
return true;
}
它返回false,但不能阻止输入。如果我用onkeydown替换OnkeyPress,则可以使用
请在这篇文章中查看:
https://forums.asp.net/t/1888076.aspx?onkeypress vs onkeydown vs onkeyup
这是您想要的答案的一部分:
onkeydown允许您在文本框中输入字符之前触发事件,以便您可以在确定是否允许之前按下要按下的字符。
OnKeyup将允许您基本上按住钥匙,并且在释放键之前不会发射事件。
OnkeyPress将为按下的每个字符键发射一个事件(包括被压制的键(。