Регулярки в мультиязычных приложениях
Сегодня коротко и по делу: в феврале был на «Подлодке», и на докладе про i18n в React-приложениях был хороший пример про валидации форм.
Если вам нужно провалидировать имя регуляркой:
- ❌ /^[a-zа-я]+$/i — не используйте, иначе, как минимум многие сербы не пройдут вашу форму
- ✅ Используйте вариации следующих регулярок
- /^w+$/u — пропустит буквы любой письменности, но вместе с ними ещё цифры и «_», так что проверяйте их отдельно, если нельзя;
- /^p{L}+$/u — строгий вариант: разрешает только буквы во всех языках, поэтому имена вроде Đorđe, Nguyễn или Łukasz проходят без проблем.