我们这里有一位开发人员,他在 Web 应用程序中添加了以下代码行:
var amount = newValue.replace(/[^\d.-]/g, '');
特定行处理用户可以输入到字段中的金额值。
关于正则表达式,我知道以下内容:
- 它用空字符串替换匹配项(即删除它们)
- /g是一个标志,表示匹配“newValue”中的所有事件
- 方括号[]表示一个特殊的组
- ^表示行首
- d表示数字
不幸的是,我不知道这应该匹配什么样的字符串。我检查了一些基于 Web 的正则表达式测试器是否匹配例如98.-之类的字符串以及其他带有数字的替代项,但到目前为止还没有运气。
我的问题是它似乎使 IE 非常慢,所以我需要用其他东西替换它。
对此的任何帮助将不胜感激。
编辑: 感谢所有回答的人。我不仅尝试了 Google,还尝试了 myregextester.com、regular-expressions.info、phpliveregex.com 等网站。我的问题是误解了^的含义,并期望这需要一个像 44.99 这样的数字字符串。