ЛУЧШИЕ ВЫРАЖЕНИЯ РЕГЕКСА ДЛЯ ИМЕН:
Обязательное одно имя, БЕЗ пробелов, БЕЗ специальных символов:
^([A-Za-z])+$
Обязательное одно имя, БЕЗ пробелов, С специальными символами:
^[A-Za-z]+(((\'|\-|\.)?([A-Za-z])+))?$
Обязательное одно имя, необязательные дополнительные имена , с пробелами, со специальными символами:
^[A-Za-z]+((\s)?((\'|\-|\.)?([A-Za-z])+))*$
Обязательное одно имя, опция l дополнительные имена , С пробелами, БЕЗ специальных символов:
^[A-Za-z]+((\s)?([A-Za-z])+)*$
Многие современные интеллектуальные устройства добавляют пробелы в конце каждого слова, поэтому в моих приложениях я разрешаю неограниченное количество пробелов до и после строки, а затем обрезаю ее в коде позади. Поэтому я использую следующее:
Обязательное одиночное имя + необязательные дополнительные имена + пробелы + специальные символы:
^(\s)*[A-Za-z]+((\s)?((\'|\-|\.)?([A-Za-z])+))*(\s)*$
Если вы хотите добавить свои собственные специальные символы, скажем, подчеркивание _ это группа, которую вам нужно обновить:
(\'|\-|\.)
К
(\'|\-|\.|\_)
PS: Если у вас есть вопросы, прокомментируйте здесь, и я получу электронное письмо и отвечу;)
Нужен закрывающий тег данных клиента в конце документа, чтобы он был правильно сформирован. Вот почему синтаксический анализатор останавливается в конце файла.