我的JS函数如何限制特定的数据
本文关键字:数据 何限制 JS 函数 我的 | 更新日期: 2023-09-27 18:13:11
在asp.net文本框中,我调用了一个javascript函数,我写的是在文本框中只限制'数字'条目,但我也想允许'+'符号,但无法解决它。
这是我到目前为止所尝试的。
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
只需反转条件并添加+
(即43
)的ASCII码以返回true
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if ((charCode >=48 && charCode <= 57) || (charCode == 43))
return true;
return false;
}
如果您能够限制数字,您也可以输入'+',我猜您需要ASCII表和相应的值,即您如何限制数字,而charCode > 31
似乎无用,如果您只检查数字:http://www.asciitable.com/
所以如果你想检查+
charCode != 43
您还需要明确检查+
,将您的if修改为:
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 43)
下面是工作示例:
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 43) {
return false;
}
return true;
}
<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" />
工作演示
Ascii表function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)&& charCode != 43) {
return false;
}
return true;
}