2011-10-25 86 views
4

我正在根據用戶的輸入構建一個JavaScript數組。該數組構建的很好,但如果用戶輸入中文符號,它會崩潰。我假設這是用戶輸入中文「或a」或「a」,我已經用該程序替換了這個英文版本,但我不知道如何替換它的中文版本JavaScript代替中文字符

?誰能幫助

感謝所有爲他們輸入

+0

你的意思是你正在構建陣列服務器端?你使用哪種語言/平臺?大多數Web環境提供了用正確轉義來構建JavaScript數組/對象/字符串的函數。 – RoToRa

+0

是的,我正在建立它的服務器端,我使用C銳。 –

回答

3

What's the complete range for Chinese characters in Unicode?,該CJK unicode的範圍是:

  • 4E00-9FFF(共同)
  • 3400-4DFF(罕見)
  • F900-FAFF(兼容性 - 重複,unifiable變體,企業字符)
  • 20000-2A6DF(罕見,歷史)
  • 2F800-2FA1F(兼容性 - 補充)

因爲JS字符串只支持UCS-2,它最多在FFFF處,所以最後兩個範圍可能不是很有意思。因此,如果你正在構建一個JS字符串應該能夠使用類似過濾掉中國文字:

replace(/[\u4e00-\u9fff\u3400-\u4dff\uf900-\ufaff]/g, '') 
1

的.Net提供JavaScriptSerializer和它的方法Serialize,它正確地創建逃脫JavaScript文字(雖然我個人你還沒有用中文字符,但沒有理由不應該這樣做)。

1

大廈broofa的回答是:

如果你只是想找個和取代中國標點符號,如「或「或a。那麼你會想在FF00-FFEF範圍內使用unicode字符。這裏是一個Unicode顯示他們的PDF:http://unicode.org/charts/PDF/UFF00.pdf
我想你至少要替換這些:FF01,FF02,FF07,FF0C,FF0E,FF1F和FF61。那應該是中國主要的標點符號。您可以使用broofa的替換功能。