【发布时间】:2020-07-08 09:21:58
【问题描述】:
我需要一个正则表达式,它可以匹配正负十进制值、空字符串 ('') 以及仅减号 ('-')。由于我需要在处理数字字段更改的函数中使用它,并且为了添加负值,用户首先添加“-”或删除旧值(“”),我需要匹配所有这 3 个条件。
所以,总而言之,正则表达式应该允许:
- 正负十进制值(也是 0)
- “”(空字符串)
- “-”(减号字符串)
到目前为止我所拥有的是:
function sanitizeInputValue(value: string) {
var re = new RegExp('^$|^-?\\d{1,9}(\\.\\d{1,2})?$');
return value.match(re) === null ? 0 : value;
}
【问题讨论】:
-
为什么必须是正则表达式?为什么不
return value === "-" || value === "" || !isNaN(value) ? value : 0 -
那么您面临的问题是什么?看来您的代码工作正常
标签: javascript regex