2016-10-21 77 views
0

如何從字符串中只刪除字母? 例如,我有這樣的文字345-D34 XX如何從字符串中刪除所有字母

我想345-34

我試過這段代碼:

replace(/\D/g, '') 

但它現在正在正確的,因爲我得到的只有數沒有 -

+0

所以其他符號應保持嗎?或者是你想要的數字和連字符被保留的真正問題? –

+3

'替換(/ [a-z]/gi,'')或者替換(/ [^ \ d - ]/g,'')' – trincot

+0

@trincot - 您的評論應該被提升爲答案。 – Malvolio

回答

1

如果你真的只想要刪除您的字符串(拉丁)字母:

replace(/[a-z]/gi, '') 

如果你想保持只有數字和連字符:

replace(/[^\d-]/g, '') 

注意:如果您打算使用第二個解決方案,並希望添加要保留的其他字符,請務必保留連字符最後在班級,否則它會改變意義,並會像範圍一樣行事。

+0

嗨,它的工作! – Dawid77

+0

非常感謝:-) – Dawid77

0

刪除所有的信件從字符串使用regular expression

var str = '345-d34 XX', 
 
    result = str.replace(/[^\d-]/g, ''); 
 

 
console.log(result);

相關問題