Проверка на лишние символы в js

Как сделать фильтрацию символов, вот у меня есть переменная, как мне проверить есть ли там символы из не русского/английского языка?


Ответы (1 шт):

Автор решения: vsemozhebuty

Если вам нужно проверить, есть ли в строке буквы некириллической письменности, можно при помощи такого регулярного выражения:

const cyrillic = 'абв - эюя';
const mixed = 'абв - xyz';

const regexp = /(?!\p{Script_Extensions=Cyrillic})\p{L}/u;

console.log(regexp.test(cyrillic));
console.log(regexp.test(mixed));

Оно использует Unicode property escapes вместе с Negative lookahead assertion.

Это упрощённое регулярное выражение. Если вам нужен более точный и надёжный охват всех символов, которые могут использоваться в словах, вместо \p{L} воспользуйтесь примером из Unicode-aware version of \w.

→ Ссылка