2013-07-15 31 views
0

我在JavaScript的有這樣的正則表達式:正則表達式的JavaScript插入空隙

var name = '#tee name test '; 
var title = name.replace(/[^a-z0-9]/gi,''); 

這產生這個標題:

teenametest 

但是我想這一點:

tee name test 

我如何允許空間,但刪除其他字符,如'#'? 感謝

回答

2

改變這一行:

var title = name.replace(/[^a-z0-9]/gi,''); 

要這樣:

var title = name.replace(/[^a-z0-9\s]/gi,''); 

你需要告訴正則表達式不更換的空間。

如果需要刪除最後一個空格,可以使用string.trim函數。

如果你還是想用正則表達式來刪除最後一個空間,以及,你可以使用:

var title = name.replace(/[^a-z0-9\s]|\s+$/gi,''); 
+0

是的,這就像一個魅力!儘快謝謝+1我接受它! –

+0

@AlessandroMinoccheri謝謝:) – Jerry

+1

'\ s'是空白字符組!這與簡單的空間不一樣......我會用'/ [^ a-z0-9] |去* $ /'。 – Christoph