JavaScript来替换中文字符

JavaScript to replace Chinese characters

本文关键字:字符 中文 替换 JavaScript      更新时间:2023-09-26

我正在根据用户的输入构建一个JavaScript数组。数组构建得很好,但如果用户输入中文符号,它就会崩溃。我假设它是如果用户输入中文"或"或"或"。我已经用程序替换了这个的英文版本,但是我不知道如何替换它的中文版本。

有人能帮忙吗?

感谢所有人的输入

From Unicode中中文字符的完整范围是什么?, CJK unicode范围为:

  • 4 e00-9fff(共同)
  • 3400 - 4 - dff(罕见)
  • F900-FAFF(兼容性-副本,统一变体,公司字符)
  • 20000-2A6DF(罕见,历史)
  • 2F800-2FA1F(兼容性-补充)

因为JS字符串只支持UCS-2,它的最大值是FFFF,最后两个范围可能不是很有趣。因此,如果你正在构建一个JS字符串,应该能够过滤掉中文字符使用类似的东西:

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

您需要使用unicode替换器。我想它会对你有所帮助:http://answers.yahoo.com/question/index?qid=20080528045141AAJ0AIS

。Net提供了JavaScriptSerializer和它的方法Serialize,它创建正确转义的JavaScript文字(虽然我个人没有使用它与中文字符,但没有理由它不应该工作)。

基于broofa的回答:

如果你只是想找到并替换中文的标点符号,如"或"或"。那么您将需要使用FF00-FFEF范围内的unicode字符。以下是Unicode提供的PDF格式:http://unicode.org/charts/PDF/UFF00.pdf
我认为你至少想要替换这些:FF01, FF02, FF07, FF0C, FF0E, FF1F和FF61。这应该是中国主要的标点符号。您可以使用broofa的replace函数

这个问题没有问,但是加上'u30a0-'u30ff'u3040-'u309f你也可以从日语中取出平假名和片假名:

replace(/['u4e00-'u9fff'u3400-'u4dff'uf900-'ufaff'u30a0-'u30ff'u3040-'u309f]/g, '')
  1. https://regex101.com/r/4Aw9Q8/1
  2. https://en.wikipedia.org/wiki/Katakana_ (Unicode_block)
  3. https://en.wikipedia.org/wiki/Hiragana_ (Unicode_block)