2011-08-17 63 views
6

我想要替換的所有occurent「 - 」:從出現在這個格式的字符串中的字符和空格:JavaScript的替換字符

"YYYY-MM-DD HH:MM:SS" 

是這樣的:「」

var date = this.value.replace(/:-/g, ""); 

回答

7

你已關閉:"YYYY-MM-DD HH:MM:SS".replace(/:|-/g, "")

+0

,如果我想的空間太>? –

+1

' 「YYYY-MM-DD HH:MM:SS」 .replace(/ \ S |:| - /克, 「」)'。 '|'的意思是「或」。 –

+0

'/:| - |/g'。你只需管另一個。但是如果你有更多的角色,我會去@ Rocket的解決方案,因爲它看起來更好 –

2

/:-/g表示":" followed by "-"。如果你把字符放在[]那就意味着":" or "-"

var date = this.value.replace(/[:-]/g, ""); 

如果你想刪除空格,將\s添加到正則表達式。

var date = this.value.replace(/[\s:-]/g, ""); 
1

你想要的正則表達式是可能

/[\s:-]/g 

使用示例:

"YYY-MM-DD HH:MM:SS".replace(/[\s:-]/g, ''); 

[]塊匹配任何包含的字符。

在這我補充說,匹配空格字符\s模式,如空間和標籤\t(不知道,如果你想製表符和換行符,所以我去有標籤和跳過換行符)。

看來你已經猜到了你想要的g葉形的比賽,它允許正則表達式來保持它找到替換匹配。

1

您可以使用一個字符類或|(或):

var date = "YYYY-MM-DD HH:MM:SS".replace(/[:-\s]/g, ''); 

var date = "YYYY-MM-DD HH:MM:SS".replace(/:|-|\s/g, '');