我需要一种方法来检查字符串是否包含 日文 或 中文 文本。
目前我正在使用这个:
string.match(/[\u3400-\u9FBF]/);
但它不适用于此,例如: ディアボリックラヴァーズ
或 バッテリー
。
你能帮我吗?
谢谢
原文由 Frank 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要一种方法来检查字符串是否包含 日文 或 中文 文本。
目前我正在使用这个:
string.match(/[\u3400-\u9FBF]/);
但它不适用于此,例如: ディアボリックラヴァーズ
或 バッテリー
。
你能帮我吗?
谢谢
原文由 Frank 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用此代码,它对我有用。
let str = "渣打銀行提供一系列迎合你生活需要嘅信用卡";
//let str = "SGGRAND DING HOUSE 4GRAND DING HOUSE";
const REGEX_CHINESE = /[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f]/;
const hasChinese = str.match(REGEX_CHINESE);
if(hasChinese){
alert("Found");
}
else{
alert("Not Found");
}
原文由 hasancse016 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答873 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
通常用于中文和日文文本的 Unicode 字符范围是:
作为正则表达式,这将表示为:
这不包括将出现在中文和日文文本中的 每个 字符,但任何重要的典型中文或日文文本都将主要由这些范围内的字符组成。
请注意,此正则表达式也将匹配包含 hanja 的韩语文本。这是 两汉统一 的必然结果。