Pan*_*her 3 javascript regex jquery negative-number
我写了这个正则表达式来删除任何不是数字的东西.
var dataTest = data.replace(/[^0-9]/gi, '');
Run Code Online (Sandbox Code Playgroud)
它将"abc123xyz"转换为"123"
但是现在我想要覆盖负数: -
var dataTest = data.replace(/[^-0-9]/gi, '');
Run Code Online (Sandbox Code Playgroud)
但它允许 - 介于两者之间.它将"abc123-xyz"转换为"123-"我希望它转换为"123"
但是,如果用户给出"-123abc",则应更改为"-123".
我在javascript中调用focusout事件上的代码.我也会在jquery中接受解决方案.
一种选择是捕获数字并删除其他所有内容:
input = "abc-123def"
clean = input.replace(/.*?(-?\d+).*/, "$1")
document.write(clean)Run Code Online (Sandbox Code Playgroud)
或者,更有效率,match:
clean = (input.match(/-?\d+/) || [])[0]
Run Code Online (Sandbox Code Playgroud)