2010-05-20 26 views
24

如何使用Javascript從字符串中刪除數字?使用Javascript從字符串中刪除數字

我並不是很擅長正則表達式,但我認爲我可以使用replace來實現上述目的?

如果JQuery提供的某些東西已經可以做到這一點,那真的會很好嗎?

//Something Like this?? 

var string = 'All23'; 
string.replace('REGEX', ''); 

我很感激這方面的幫助。

回答

34

\d匹配任何數量的,所以你想用一個空字符串替換它們:

string.replace(/\d+/g, '') 

我在這裏使用了+修改,使其在一個圍棋賽所有相鄰的號碼,因此需要更換更少。 g最後是一個標誌,意思是「全局」,這意味着它將取代它所發現的所有匹配,而不僅僅是第一個匹配。

+0

謝謝你的解釋,也許我可以記住這一個爲未來,哦等待不需要那樣做,「贊成」! :) – Abs 2010-05-20 22:44:42

+3

字符串是否會有浮點數?如果是這樣你需要另一個正則表達式。 '「str 12.3或12,3」.replace(/ \ d +([,。] \ d +)?/ g)' – BrunoLM 2010-05-20 22:53:15

+0

該字符串只有整數。不過謝謝你的建議。 – Abs 2010-05-21 15:37:56

1

就粘貼到您的地址欄嘗試一下:

javascript:alert('abc123def456ghi'.replace(/\d+/g,'')) 

\d表示範圍爲0-9的字符,+指示一個或多個;所以\d+匹配一個或多個數字。 g是必要的,以指示全局匹配,而不是在第一次匹配之後退出(默認行爲)。

+0

它需要'g'標誌,否則它會在「abc123def456」 – nickf 2010-05-20 22:40:14