javascript - 正则表达式仅检查数字(负数和正数)

标签 javascript regex

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

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

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

最佳答案

编辑:问题已澄清,仅应接受数值

您可以检查号码是否为 < 0删除所有非数字字符后:

// remove all non-numeric characters
var txt = $(elem).val().replace(/[^\-0-9]/g, '');
if(parseInt(txt) < 0)){
  // negative number
}

关于javascript - 正则表达式仅检查数字(负数和正数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23570856/

相关文章:

javascript - Mongoose 保存循环丢失迭代器

javascript - 如何制作验证电话号码中的国家/地区代码的正则表达式

php - preg_replace() 仅字符串的特定部分

javascript - 如何在 ReactJS 中创建和应用基于 CSS 类的动态样式表?

javascript - 正则表达式替换 json 中的双引号

javascript - 检查纬度和经度是否在谷歌地图的圆圈内

python - 如何避免由前导或尾随空格引起的那些空字符串?

java - java方法replaceAll()出错

javascript - 使用 VCS 在 JavaScript 中匹配子字符串的正则表达式

javascript - 如何修复这个业余的 jQuery/Masonry/Infinite Scroll 代码?