I just tried your regexp: (preg_match("/[a-z](\\')?[a-z-]+/i",$_POST[Last_Name])
and it allows the following: O' [EMAIL PROTECTED] It seems to allow any number of characters and spaces between the O' and Re On Wed, 12 Mar 2003, John W. Holmes wrote: > > > preg_match ( "/[A-Za-z-']+/", $_POST['Last_Name'] ); > > > > > > [EMAIL PROTECTED] wrote: > > > > I have been trying to validate a form field Last_Name and have > been > > unable > > > > to find a regexp to account for the apostrophe (e.g., O'Reilly). > The > > > > following statement: > > > > > > > > preg_match('/^[[:alpha:]]+[-]?[[:alpha:]]+$/', $_POST[Last_Name]) > > > > > > > > accepts hyphenated surnames and I have tried escaping the > apostrophe: > > > > [\\'] and [\\\'] to no avail. Any idea what I am doing wrong? > > that could work but the user may now submit one or more apostrophes > > as the Last Name. > > Watch out for magic_quotes. If "O'Reilly" is submitted, unless you > stripslash() it, you're validating against "O\'Relly". > > preg_match("/[a-z](\\')?[a-z-]+/i",$_POST['Last_Name']) > > ---John W. Holmes... > > PHP Architect - A monthly magazine for PHP Professionals. Get your copy > today. http://www.phparch.com/ > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php