Javascript regExp шаблон кириллицы - PullRequest
3 голосов
/ 05 февраля 2011

Я знаю, что это глупый вопрос, но я потратил два дня, гугляя безрезультатно.Какой должен быть шаблон regExp, чтобы мой пользователь мог печатать только кириллицу и пробелы?Заранее спасибо!

1 Ответ

1 голос
/ 05 февраля 2011

Вы не можете сделать это в Javascript, потому что Javascript не обеспечивает даже самой базовой поддержки уровня 1 Unicode в своих регулярных выражениях.Вы должны были бы переключить языки, чтобы сделать это правильно.

Для этого нельзя использовать диапазоны перечисляемых блоков.Это сбивает с толку блоки и скрипты, которые глубоко испорчены.Существует 150 кодовых точек, которые имеют свойство \p{Script=Cyrillic}, но в которых отсутствует свойство \p{Block=Cyrillic}.Они в разных блоках.Часы:

$ unichars '\p{Script=Cyrillic}' '\P{Block=Cyrillic}' | wc -l
150

Кроме того, в кириллическом блоке есть пара не кириллических кодовых точек.

Лучшее, что вы можете сделать, - это перечислить все 404 кириллических кода в качестве класса символов, который может оказаться слишком большим.

$ unichars '\p{Script=Cyrillic}'  | wc -l
404

Вы можете использовать unichars сценарии , чтобы перечислить все это, если вы действительно хотите.Вы также можете захватить uniprops script , пока вы там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...