JavaScript来替换中文字符
JavaScript to replace Chinese characters
我正在根据用户的输入构建一个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, '')
- https://regex101.com/r/4Aw9Q8/1
- https://en.wikipedia.org/wiki/Katakana_ (Unicode_block)
- https://en.wikipedia.org/wiki/Hiragana_ (Unicode_block)
- 在JavaScript中输出转义字符
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 使用RegExp查找url中的字符
- 具有中文字符但输出的JSON.parse数据变为“;未定义”;
- 如何使用JavaScript注入中文字符
- PHP/html:即时搜索功能:无法搜索外语(例如中文)字符
- 如何将中文十六进制字符串解码为中文字符或JavaScript
- 用于验证字母数字字符、所有国际字符(日语、中文、俄语等)的JavaScript正则表达式
- javascript中文/日文字符解码
- 将Uint8Array转换为javascript中的字符串(带中文字符)
- 我可以检测文本中的非日文中文字符吗?
- JavaScript来替换中文字符
- 无法用javascript和json在我的静态网站上显示中文字符
- 如何使用javascript从url中提取中文字符
- javascript检测输入字符是繁体中文还是简体中文
- 将文本区域限制为固定数量的中文字符
- 当我通过location.search搜索中文时,奇怪的字符
- 使用jQuery在请求头中设置中文字符