Javascript 正则表达式到数字/十进制和减号

Posted

技术标签:

【中文标题】Javascript 正则表达式到数字/十进制和减号【英文标题】:Javascript Regex to digit/decimal and minus sign 【发布时间】:2014-04-19 22:39:42 【问题描述】:

在我的网络表单文本框中,我只想允许小数点后只有 2 位的数值,并且数字前可以有负号(减号)。例如 xxx.xx 或 -xxx.xx 或 xxx 或 -xxx 。我知道下面的代码几乎可以满足我的要求,但是我应该如何只允许数字前的 -(减号) 符号?

onBlur="this.value = this.value.replace(/[^0-9\.]/g, '');"

因此,无论用户类型如何,字母字符和其他符号都应该被删除。

【问题讨论】:

【参考方案1】:
this.value.replace(/^(-?).*?(\d+\.\d2).*$/, "$1$2");

【讨论】:

【参考方案2】:

在删除其他字符后,删除所有不是第一个字符的减号:

onBlur = "this.value = this.value.replace(/[^0-9\.-]/g, '').replace(/(.)-+/g, '$1');"

【讨论】:

@user3344151:嗯……你能说得更具体点吗?

以上是关于Javascript 正则表达式到数字/十进制和减号的主要内容,如果未能解决你的问题,请参考以下文章

15个常用的javaScript正则表达式

15个常用的javaScript正则表达式

来自极客头条的 15个常用的javaScript正则表达式

为啥加号运算符在 JavaScript 的正则表达式中不起作用? [复制]

常用15个校验正则表达式

使用 javascript .replace 正则表达式将递增数字添加到字符串