2014-10-05 116 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

相關問題