2014-10-05 94 views

回答

9

工作,我建议:

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

JS Fiddle demo

字符类中的^(在[]之内)是NOT运算符,因此它匹配char其中不是0-9或(逃脱)-字符的字符。

正如在本回答的评论中指出的那样,通过Ted Hopp,当它是最后一个字符时,没有必要跳过-,但我习惯性地这样做,以避免必须记住附带条件。

参考文献:

+3

当它是班级中的最后一个字符时,不需要逃避破折号。另外,'0-9'可以被替换'\ d'。正则表达式可能是'/ [^ \ d - ]/g' – 2014-10-05 13:08:51

+1

谢谢,我添加了纸条给答案,但正如也注意到,我总是逃避,以避免不必记住条件的破折号(它只有当它是最后一类时才可以转义)。我真的很懒......;) – 2014-10-05 13:14:47

相关问题