Представим, что у меня многоязычный сайт. И пользователи имеют право при регистрации вводить свои имя и фамилию на своем языке. А сколько языков, столько алфавитов...
Условия для регулярки на словах такое: текстовые символы, пробелы и дефис.
Как реализовать на практике??
Не уже ли для каждого языка писать свою регулярку с перечислением всех символов в юникоде? И если выход только такой — может, уже есть какие-нибудь библиотеки специально для этого, в которых трудолюбивые люди уже вбили алфавиты?
В принципе решение неплохое. Но в таком случае хитрым пользователям можно будет использовать всяческие специальные символы, которых в юникоде огого. Все же их не перечислишь. Но ведь это тоже недопустимо, как вы сами понимаете...
Ваше решение направлено на запрет символов, которые технически запрещены, это понятно. Кавычки там для SQL запроса, теги... Но моя задача стоит в определении именного текстового символа. Да, в любом алфавите. :) (то есть в идеале, я ищу решение, которое могло бы являться чем-то типа многоязычного \w)
Если вы делаете мультиязычный сайт - разрешите пользователю использовать все символы кроме < >.
Запрет на использование неких специальных символов юникода - не обоснован ничем.
@wbird Это личное дело пользователя. Если он не захочет вводить своё настоящее фио - он его не введет. Принципиальной разницы по качеству контента между "#@(##@№:;" и "Вася МегаДерьмоДестройерОдинОдин" я не вижу.