我正在尝试检测字符串是否包含俄语(西里尔字母)字符。我正在使用此代码:
term.match(/[\wа-я]+/ig);
但它不起作用 - 或者实际上它只是按原样返回字符串。
有人可以帮助使用正确的代码吗?
谢谢!
答案 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的内容都没有影响。因此需要分别拼写小写和大写范围。