【发布时间】:2014-10-05 22:16:23
【问题描述】:
我需要删除除破折号以外的所有非数字字符。 这是我的尝试(基于:Regex to get all alpha numeric fields except for comma, dash and single quote):
var stripped = mystring.replace(/[-0-9]+/g, '');
但这不起作用:-(
【问题讨论】:
标签: javascript
我需要删除除破折号以外的所有非数字字符。 这是我的尝试(基于:Regex to get all alpha numeric fields except for comma, dash and single quote):
var stripped = mystring.replace(/[-0-9]+/g, '');
但这不起作用:-(
【问题讨论】:
标签: javascript
我建议:
var stripped = string.replace(/[^0-9-]/g,'');
字符类中的^(在[ 和] 中)是NOT 运算符,因此它匹配以下字符不是0-9 或(转义的)- 字符。
正如Ted Hopp对此答案的评论中所指出的那样,当-是最后一个字符时,没有必要转义它,但我习惯性地这样做是为了省去记住该附带条件。
参考:
【讨论】:
0-9 可以替换为d。正则表达式可以是/[^d-]/g
- 怎么样?这也需要不匹配。