Что просили
Вместо "^[a-zA-Z][ ]*$"
вы хотите "^[a-zA-Z ]*$"
. Есть некоторые ответы, которые ссылаются на \s
, но они вам не нужны, потому что они дают вам другие пробелы, такие как вкладки.
Дополнительные распространенные примеры
На дополнительном примечании есть имена и фамилии, содержащие переносы, такие как Mary-Ann
для имени или дефисные фамилии, такие как Jones-Garcia
. Также есть фамилии с точками, например St. Marc
. Наконец, у вас есть '
в некоторых фамилиях, таких как O'Donnel
.
Примечание на стороне
По закону вы можете изменить свое имя на Little Bobby Drop Tables ... или включить другие случайные символы ... но я не уверен, сколько систем действительно приспособлено для подобных вещей.
Если вам нужен общий случай (по всему миру), не ограничивайте поля никаким типом символов, так как вы можете иметь имена в виде букв греческого алфавита, букв кириллицы, букв китайского алфавита и т. Д. Существуют также символы английского алфавита. и другие вещи, такие как немецкий умлаут.
Если вас беспокоит внедрение SQL, используйте параметризованные запросы вместо динамических запросов.
Предлагаемое решение
Если вы беспокоитесь только об английских буквах и хотите использовать регулярное выражение, которое обрабатывает примеры выше, то вы можете использовать "^[a-zA-Z \-\.\']*$"