JSP上有一个输入字段,用户可以输入数字(负数和正数)。 我检查输入字段上每个按键事件的JS函数不是数字,它应该用空格替换它。
var txt = $(elem).val();
if(!(txt.match(/^-?[0-9]*$/))) {
$(elem).val(txt.replace(/^-?[0-9]+/g, ''));
}
我的if条件工作正常,但我无法创建正则表达式进行替换。
答案 0 :(得分:5)
修改:澄清了问题,只接受数字值
删除所有非数字字符后,您可以检查该号码是否为< 0
:
// remove all non-numeric characters
var txt = $(elem).val().replace(/[^\-0-9]/g, '');
if(parseInt(txt) < 0)){
// negative number
}
答案 1 :(得分:1)
检查数字是否执行此操作
var txt = $(elem).val();
if (!isNAN(txt) && parseInt(txt) >=0) {
//validate
} else {
// Invalidate
}