Не так давно в V8
движок добавили поддержку флага /u
(т.е. поддержку unicode
) для регулярных выражений. В nodeJS
можно подключить флагом –harmony_unicode_regexps
. Вот небольшой обзор по новым возможностям. При установленном флаге .
понимает иероглифы
, их же стало можно использовать в описании регулярного выражения без экранирования
, появилась поддержка i флага
.
Но! Они недобавили самого вкусного ― \p{L}
. При помощи модификатора \p
можно кратко описать многие вещи (см. раздел Unicode Categories). К примеру можно описать в пару символом регулярку, которая будет проверять принадлежность символа к алфавиту какого-либо языка. Например, /^\p{L}[\p{L}\d-_ ]+$/u
отлично подойдёт для валидации имени пользователя, не поставив в незавидное положение ни грузин, ни китайцев, ни русских. Но отлично отфильтрует рандомный бред с клавиатуры.
Надеюсь, что это временно. А пока можно воспользоваться, к примеру, XRegExp-ом.