Советы о том, как проверять имена и фамилии с помощью регулярных выражений - PullRequest
2 голосов
/ 18 января 2011

Я хочу проверить имя и фамилию для моего приложения Ruby on Rails 3, и поэтому я разместил этот вопрос . Кто-то посоветовал мне прочитать статью Falsehoods Programmers Believe About Names , и теперь у меня проблемы.

Как правильно проверить имена и фамилии?

Regex - это способ, но что я должен быть осторожным? Можете ли вы дать мне обзор?

Ответы [ 3 ]

5 голосов
/ 18 января 2011

Правильный способ проверки имен:

  1. Принимайте все возможные символы Unicode.
  2. Отклоняйте вводы длины 0.
  3. Убедитесь, что результатимеет по крайней мере один символ, который не относится ни к типу \pM, \pZ, ни \pC;т. е. не является ни одним из комбинирующих знаков, разделителей или других (обычно управляющих) символов.Класс символов, такой как [^\pM\pC\pZ] должен быть достаточным.

Там: легко, как может быть.Возможно, вам понадобится Ruby 1.9, чтобы сделать это правильно.

1 голос
/ 18 января 2011

Если вы читали эту статью, вы видели, что невозможно проверить имя с регулярными выражениями или без них.

Так что даже не ходите туда.Если люди хотят называть себя Tarquin Fin-tim-lin-bin-whin-bim-lim-bus-stop-F'tang-F'tang-Olé-Biscuitbarrel (, это имеет произошло! см. Раздел "Культурные ссылки"), кто вы такой, чтобы им это отрицать?

1 голос
/ 18 января 2011

Простой ответ: вы не можете проверить имена и фамилии, кроме как для проверки того, что они не равны нулю *.Заполняя форму, в которой запрашивается имя, кто-то объявляет «это моё имя», и если кто-то говорит «это моё имя», вы должны верить им, потому что они являются окончательным авторитетом того, как их зовут.*

* даже тогда вполне допустимо, чтобы люди имели одно имя, а не два или три, и был один случай, когда у человека фактически не было имени.Вместо этого он дал себе символ.

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