正则表达式只检查数字(负数和正数)

时间:2014-05-09 17:38:58

标签: javascript regex

JSP上有一个输入字段,用户可以输入数字(负数和正数)。 我检查输入字段上每个按键事件的JS函数不是数字,它应该用空格替换它。

var txt = $(elem).val();
if(!(txt.match(/^-?[0-9]*$/))) {    
    $(elem).val(txt.replace(/^-?[0-9]+/g, ''));
  }

我的if条件工作正常,但我无法创建正则表达式进行替换。

2 个答案:

答案 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
}