我需要删除短划线以外的所有非数字字符。 这是我的尝试(基于:Regex to get all alpha numeric fields except for comma, dash and single quote):
var stripped = mystring.replace(/[-0-9]+/g, '');
但这不起作用: - (
答案 0 :(得分:12)
我建议:
var stripped = string.replace(/[^0-9\-]/g,'');
字符类中的 ^
(在[
和]
内)是NOT运算符,因此它匹配的字符 not {{1} }或(转义的)0-9
字符。
正如在Ted Hopp的评论中所述,当-
成为最后一个角色时,没有必要逃避-
,但我习惯这样做为了节省必须记住的附带条件。
参考文献: