从Javascript中的一系列字符中检测unicode字符(汉字)?

时间:2011-08-22 16:38:30

标签: javascript regex unicode

我正在尝试读取输入并仅在它是日语汉字时传递它。根据{{​​3}}

,这意味着角色介于4e00和9faf之间

是否可以使用Javascript测试此范围?

2 个答案:

答案 0 :(得分:3)

/[\u4e00-\u9faf]+/应该这样做。这与4e00 - 9faf范围内的一个或多个字符匹配。

来自MDN documentation

  

\uhhhh将字符与代码hhhh(四个十六进制数字)匹配。

所以在你的情况下,如果你想测试整个字符串,你可能想要:

if(/^[\u4e00-\u9faf]+$/.test(str)) {
    // str is a kanji
}

答案 1 :(得分:1)

我想补充说,自从提出这个问题以来,我已经了解到没有必要使用原始的unicode ID,你可以直接抛出角色本身。例如,您可以搜索[一 - 龯]

而不是[\ u4e00- \ u9faf]