在Javascript字符串中检测俄语/西里尔语?

时间:2014-11-10 15:03:29

标签: javascript regex encoding cyrillic

我正在尝试检测字符串是否包含俄语(西里尔字母)字符。我正在使用此代码:

term.match(/[\wа-я]+/ig);

但它不起作用 - 或者实际上它只是按原样返回字符串。

有人可以帮助使用正确的代码吗?

谢谢!

2 个答案:

答案 0 :(得分:15)

使用模式/[\u0400-\u04FF]/来涵盖更多西里尔字符:



// http://jrgraphix.net/r/Unicode/0400-04FF
const cyrillicPattern = /[\u0400-\u04FF]/;

console.log('Привіт:', cyrillicPattern.test('Привіт'));
console.log('Hello:', cyrillicPattern.test('Hello'));




答案 1 :(得分:11)

也许您打算使用RegExp test方法?

/[а-яА-ЯЁё]/.test(term)

请注意,JavaScript正则表达式并不真正支持Unicode,这意味着i标志对任何不是ASCII的内容都没有影响。因此需要分别拼写小写和大写范围。