Как уже отмечалось, классы персонажей POSIX, вероятно, являются лучшим выбором. Но детали их поддержки (и альтернативы) очень сильно отличаются от деталей конкретного варианта регулярного выражения.
PHP, очевидно, поддерживает их, но JavaScript поддерживает , а не .
Это означает, что для JavaScript вам нужно будет использовать диапазоны символов: / [\ u0400- \ u04FF] / соответствует любому одному символу кириллицы. Ясно, что это потребует некоторого написания, но в Рекомендацию XML 1.0 (от W3C) включен список многих диапазонов, хотя и несколько лет назад.
Одним из подходов может быть ограниченная проверка клиента в JavaScript и полная проверка только на стороне сервера.