我需要一种方法来检查字符串是否包含Japanese or Chinese text.
目前我正在使用这个:
string.match(/[\u3400-\u9FBF]/);
但它不适用于以下示例:ディアボリックラヴァーズ
or バッテリー
.
你能帮我吗?
Thanks
通常用于中文和日文文本的 Unicode 字符范围是:
- U+3040 - U+30FF:平假名和片假名(仅限日语)
- U+3400 - U+4DBF:CJK 统一表意文字扩展 A(中文、日文和韩文)
- U+4E00 - U+9FFF:CJK 统一表意文字(中文、日文和韩文)
- U+F900 - U+FAFF:CJK 兼容表意文字(中文、日文和韩文)
- U+FF66 - U+FF9F:半角片假名(仅限日语)
作为正则表达式,这将表示为:
/[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f]/
这不包括every这些字符将出现在中文和日文文本中,但任何重要的典型中文或日文文本都将主要由这些范围内的字符组成。
请注意,此正则表达式还将匹配包含以下内容的韩语文本:hanja https://en.wikipedia.org/wiki/Hanja。这是不可避免的结果汉统一 https://en.wikipedia.org/wiki/Han_unification.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)