phpretard Posted July 8, 2008 Share Posted July 8, 2008 I am sure there is a simple solution for this... So for I have come up with this. if(preg_match("/^[a-zA-Z][a-zA-Z -]+$/", $Name) === 0) My objective is to requrire a first name and last name. This will require a space between 2 words. John = NO JohnDoe = NO John Doe = YES Can anyone help me with this one? Quote Link to comment https://forums.phpfreaks.com/topic/113696-validating-first-and-last-name-from-one-input/ Share on other sites More sharing options...
thebadbad Posted July 8, 2008 Share Posted July 8, 2008 Did you intent to put that hyphen inside the second character class? This will work for the examples you gave: <?php $Name = 'John Doe'; if (preg_match('|^[a-z]+\s[a-z]+$|iD', $Name)) { echo 'Name OK!'; } else { echo 'Name invalid.'; } ?> \s matches a white space, the pattern modifier i makes the search case insensitive, and the pattern mod. D makes the dollar sign only match the end of subject (if not specified, it also matches a newline character at the end, which would make the whole RegEx match e.g. "John Doe\n"). Quote Link to comment https://forums.phpfreaks.com/topic/113696-validating-first-and-last-name-from-one-input/#findComment-584418 Share on other sites More sharing options...
effigy Posted July 8, 2008 Share Posted July 8, 2008 What about hyphenated last names, suffixes, or two-word first names? Quote Link to comment https://forums.phpfreaks.com/topic/113696-validating-first-and-last-name-from-one-input/#findComment-584474 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.