我currnetly有以下的javascript whicih完全适用于正数和小数积极或消极的小数,但它不会让我输入一个负只允许在一个领域
this.value = this.value.replace(/[^0-9\.]/g, '');
我尝试了以下组合,带没有运气。请帮忙。
(\+|-)?([0-9]+(\.[0-9]+))
我currnetly有以下的javascript whicih完全适用于正数和小数积极或消极的小数,但它不会让我输入一个负只允许在一个领域
this.value = this.value.replace(/[^0-9\.]/g, '');
我尝试了以下组合,带没有运气。请帮忙。
(\+|-)?([0-9]+(\.[0-9]+))
如果你想限制输入号码,使用HTML5 number
输入类型:
<input type="number">
this.value = this.value.replace
意味着你这样做是对input
或keyup
或类似的东西,这真的没有按”如果用户决定移除他们的口号,那么就工作了。
您可以随时验证整个事情事后对于不支持的浏览器:
var value = +someInput.value; // parseFloat(someInput.value) if you prefer
if (isNaN(value)) {
// Not valid.
}
试试这个:
var re = /(?:\+|-)?[0-9]+(\.[0-9]+)?/gm;
var str = '654654\n-654654';
str.match(re);
我重新您从正则表达式(\+|-)?([0-9]+(\.[0-9]+))
至(?:\+|-)?[0-9]+(\.[0-9]+)?
,因为这些群体有点混淆(其实我觉得这是问题,因为有其他o.õ内一组)
编辑:
有更有效的方法来做到这一点,像其他的响应[:
为什么不用'/ [+ - ]?[0-9] +(?:\。[0-9] +)?/ g'? – hwnd
都意味着相同,但我会逃避'+'字符...... –
您不需要在字符类中转义它。 – hwnd