删除短划线以外的非数字字符

时间:2014-10-05 13:06:02

标签: javascript

我需要删除短划线以外的所有非数字字符。 这是我的尝试(基于:Regex to get all alpha numeric fields except for comma, dash and single quote):

var stripped = mystring.replace(/[-0-9]+/g, '');

但这不起作用: - (

1 个答案:

答案 0 :(得分:12)

我建议:

var stripped = string.replace(/[^0-9\-]/g,'');

JS Fiddle demo

字符类中的

^(在[]内)是NOT运算符,因此它匹配的字符 not {{1} }或(转义的)0-9字符。

正如在Ted Hopp的评论中所述,当-成为最后一个角色时,没有必要逃避-,但我习惯这样做为了节省必须记住的附带条件。

参考文献: