2016-03-07 3 views
-2

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

if(preg_match('/[A-Za-z]{3,30}$/', $FirstName)){ 
     if(preg_match('/[A-Za-z]{3,30}$/', $LastName)){ 

Система должна отклонить любой входной сигнал, который не буквенные или, что имеет длину более 30 символов/короче 3-х символов.

+4

уже ответил в 1000 раз -> http://stackoverflow.com/questions/2385701/regular-expression-for-first-and- last-name –

+0

Единственным допустимым RegExp для синтаксического анализа является '/.*/', но вы должны помнить, что даже не обязательно иметь имя и фамилию - вполне логично изменить свое имя на непроизносимый символ, если хотите: https://en.wikipedia.org/wiki/Prince_%28musician%29 – CD001

ответ

0

preg_match("/[a-zA-Z]{3,30}$/", "", $FirstName)

preg_match("/[a-zA-Z]{3,30}$/", "", $LastName)

Если сделать трюк

+0

Я получаю сообщение об ошибке «Предупреждать ing: preg_match(): разделитель не должен быть буквенно-цифровым или обратным слэшем ». Какие-либо предложения? x –

+0

Просто сделайте это: 'preg_match ("/[a-zA-Z] {3,30} $/"," ", $ firstName)' вместо – Sudoscience

+0

Блестяще, спасибо! –

Смежные вопросы