JS中函数执行错误
Wrong execution on function in JS
我有这段代码,但有些原因是,当我使用这个函数验证输入字段时,除了+和-键之外,其他所有东西都能工作,甚至我认为它们是真的。我做错了什么?
function validateNumber(event)
{
var key = window.event ? event.keyCode : event.which;
if (event.keyCode == 8 || event.keyCode == 46 || event.keyCode == 37 ||
event.keyCode == 39 || event.keyCode == 107 || event.keyCode == 109 ||
event.keyCode == 32 )
{
return true;
}
else if(key < 48 || key > 57)
{
return false;
}
else return true;
};
我看不到您在检查189
(-)和187
(=,当您键入+hift键+。
如前所述,验证用户输入的方法总体上是错误的。您需要检查输入的值,而不是单个击键。
首先,定义一个验证函数,用正则表达式检查任意文本:
function checkArithmetic(str) {
var regexp = /^[0-9+-]$/;
return regexp.test(str);
}
接下来,在输入元素中添加一个处理程序:
input.addEventListener('input', function (e) {
var value = input.value;
if (checkArithmetic(value)) {
// OK!
} else {
// error
}
}, false);
相关文章:
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- 试图在Windows上执行package.json中的脚本会引发JScript错误
- Visual Studio代码未在Javascript中执行错误检查
- LABjs错误:脚本总是使用.script()来执行加载的序列
- Javascript执行顺序错误
- AJAX 请求不会在 400 个错误查询上执行失败
- 未捕获的类型错误:无法在“CanvasRenderingContext2D”上执行“getImageData”:提供的双
- Javascript Sencha cmd 应用程序构建错误发生在执行此行时
- 最后,在 rxjs 序列上,在第一个错误时执行
- 收到错误:无法在“节点”上执行“appendChild”:参数 1 的类型不是“节点”
- 强制PhantomJS执行JavaScript错误
- 错误:无法在“XMLHttpRequest”上执行“发送”:无法加载“文件”:AngularJS SPA
- 1.js:23未捕获类型错误:执行'失败;appendChild'在'节点':参数1不是
- 对ajax错误执行javascript函数
- 角度 - 如何对不同类型的错误执行动态警报
- node.js错误:执行命令行命令时产生ENOSYS
- 未捕获类型错误:执行失败'readAsBinaryString'on 'FileReader
- 未捕获的类型错误:执行失败'on 'FileReader':参数1不是'Blob'
- 数据表错误'执行appendChild()失败'
- 未捕获的类型错误:执行失败'importStylesheet'on 'XSLTProcessor