2010-07-08 293 views
1

第一個問題:我想要替換除字母數字和特殊字母以外的所有字符。例如,somestringğüş iöç[email protected]#$%^&*()_+somestringğüş iöç123456正則表達式字母數字字符串+特殊字母

二:例如,some---example--long-stringsome-example-long-string

我真的不知道正則表達式,所以我需要2個簡單的正則表達式strings.Thank你

+3

這是我們的作業嗎? – 2010-07-08 10:17:36

+0

不,我只是想創建一些share.php腳本(如iframe模式框,我的項目的一部分)。 – 2010-07-08 10:19:33

+0

沒有冒犯。你給出了這個問題和提示。 使用正則表達式可以替換特殊字符。 – 2010-07-08 10:20:35

回答

3

第一。它匹配任何不是字母數字,空格或非ASCII字符的字符,並將其替換爲空字符串。

str.replace(/[^a-z0-9\s\x80-\uFFFF]+/gi, ''); 

沒有Unicode的類,我可以使用,所以無論是我包括所有Unicode字符,或者列出不字母,數字也不是空白的人。

二。它匹配任何兩個或更多破折號的序列,並用一個短劃線替換它們。

str.replace(/-{2,}/g, '-'); 
+1

''和'ş'在'\ x80- \ xff'區塊之外。 – kennytm 2010-07-08 10:24:50

+0

哦,對。 Javascript有unicode字符串。 – 2010-07-08 10:29:33

+1

你可以合併這些替換:'str.replace(/ [^ a-z0-9 \ s \ x80- \ uFFFF] +/gi,' - ')' – Gumbo 2010-07-08 10:41:03

3
/* 1. */ return x.replace(/[[email protected]#$%^&*()_+]/g, ''); 
/* 2. */ return x.replace(/-{2,}/g, '-'); 
+0

我喜歡這個回答。 – 2010-07-08 10:21:11

+0

應將兩個或更多連字符替換爲空字符串。 – SilentGhost 2010-07-08 10:25:26

+0

@沉默:哎呀,你是對的。固定。 – kennytm 2010-07-08 10:25:50

相關問題