RE: [PHP] Form Validation: Surnames with Apostrophe
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
RE: [PHP] Form Validation: Surnames with Apostrophe
That is because it is not saying that is all that can be in the string. The 'Re' matches that pattern. Put a ^ at the beginning to signify it must start with the pattern and a $ at the end to signify it must end there. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2003 1:19 PM To: John W. Holmes Cc: 'John Nichel'; [EMAIL PROTECTED] Subject: RE: [PHP] Form Validation: Surnames with Apostrophe 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
RE: [PHP] Form Validation: Surnames with Apostrophe
When I do that: (preg_match(/^[a-z](\\')?[a-z-]+$/i,$_POST[Last_Name]) it won't allow O'Reilly and seems to not allow anything at all On Thu, 27 Mar 2003, Jennifer Goodie wrote: That is because it is not saying that is all that can be in the string. The 'Re' matches that pattern. Put a ^ at the beginning to signify it must start with the pattern and a $ at the end to signify it must end there. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2003 1:19 PM To: John W. Holmes Cc: 'John Nichel'; [EMAIL PROTECTED] Subject: RE: [PHP] Form Validation: Surnames with Apostrophe 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
RE: [PHP] Form Validation: Surnames with Apostrophe
This is what I use $LastName = stripslashes($_POST['LastName']); preg_match(/^\w+[\s\-\'\.\w]*$/i, $LastName) This is less strict than yours as I'm allowing whitespace, periods, underscores, hyphens, apostrophes, and numbers because I don't so much care if someone tacks on Jr. or something like that to the end of their name. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2003 3:05 PM To: Jennifer Goodie Cc: John W. Holmes; 'John Nichel'; [EMAIL PROTECTED] Subject: RE: [PHP] Form Validation: Surnames with Apostrophe When I do that: (preg_match(/^[a-z](\\')?[a-z-]+$/i,$_POST[Last_Name]) it won't allow O'Reilly and seems to not allow anything at all On Thu, 27 Mar 2003, Jennifer Goodie wrote: That is because it is not saying that is all that can be in the string. The 'Re' matches that pattern. Put a ^ at the beginning to signify it must start with the pattern and a $ at the end to signify it must end there. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2003 1:19 PM To: John W. Holmes Cc: 'John Nichel'; [EMAIL PROTECTED] Subject: RE: [PHP] Form Validation: Surnames with Apostrophe 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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Form Validation: Surnames with Apostrophe
Thank you. Strip_slashes was the key. The following Regular Expression: (preg_match(/^[[:alpha:]]{2,}[-]?[[:alpha:]]+$|^[[:alpha:]]{2,}[[:space:]]?[[:alpha:]]+$|^[[:alpha:]]{1,1}[']?[[:alpha:]]+$/, $Last_Name) allows only alphabetical characters (e.g., Smith), alphabetical characters with whitespace then more alphabetical characters (e.g., Au Yong), alphabetical character with apostrophe then more alphabetical characters (e.g., O'Neal), or alphabetical characters with hyphen then more alphabetical characters (e.g., Zeta-Jones). It does not, however, allow alphabetical character with apostrophe then more alphabetical characters then hyphen then more alphabetical characters (D'Agostino-Wong), alphabetical characters with whitespace then more alphabetical characters then hyphen then more alphabetical characters (e.g., von Hollander-Smith), or alphabetical characters with whitespace then more alphabetical characters then hyphen then alphabetical character then apostrophe then more alphabetical characters (e.g, Van Horn-O'Reilly) or anything else anyone may type in or not type in. On Thu, 27 Mar 2003, Jennifer Goodie wrote: This is what I use $LastName = stripslashes($_POST['LastName']); preg_match(/^\w+[\s\-\'\.\w]*$/i, $LastName) This is less strict than yours as I'm allowing whitespace, periods, underscores, hyphens, apostrophes, and numbers because I don't so much care if someone tacks on Jr. or something like that to the end of their name. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2003 3:05 PM To: Jennifer Goodie Cc: John W. Holmes; 'John Nichel'; [EMAIL PROTECTED] Subject: RE: [PHP] Form Validation: Surnames with Apostrophe When I do that: (preg_match(/^[a-z](\\')?[a-z-]+$/i,$_POST[Last_Name]) it won't allow O'Reilly and seems to not allow anything at all On Thu, 27 Mar 2003, Jennifer Goodie wrote: That is because it is not saying that is all that can be in the string. The 'Re' matches that pattern. Put a ^ at the beginning to signify it must start with the pattern and a $ at the end to signify it must end there. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2003 1:19 PM To: John W. Holmes Cc: 'John Nichel'; [EMAIL PROTECTED] Subject: RE: [PHP] Form Validation: Surnames with Apostrophe 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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Form Validation: Surnames with Apostrophe
Hi, I made a little function that will allow allow alphabetical character with apostrophe then more alphabetical characters then hyphen then more alphabetical characters (D'Agostino-Wong). The downside is that it will automatically cap von Hollander-Smith function ucase_words($txt){ if(ereg(['-], $txt)){ $txt = strtolower($txt); $boom = explode(', $txt); foreach($boom as $key = $txt){ $boom[$key] = ucfirst($txt); } $booms = implode(', $boom); $boomer = explode(-, $booms); foreach($boomer as $key = $booms){ $boomer[$key] = ucfirst($booms); } $boomers = implode(-, $boomer); return($boomers); } else { $txt = strtolower($txt); $txt = ucwords($txt); return($txt); } } I suppose you could add an if-then test for the odd lowercase. It seems to work well and covers most of the scenarios you listed. [Btw, it was my 'very-first-function' so go easy on me! :] Just my $0.01 worth, Andre On Thursday 27 March 2003 06:49 pm, [EMAIL PROTECTED] wrote: Thank you. Strip_slashes was the key. The following Regular Expression: (preg_match(/^[[:alpha:]]{2,}[-]?[[:alpha:]]+$|^[[:alpha:]]{2,}[[:space:]] ?[[:alpha:]]+$|^[[:alpha:]]{1,1}[']?[[:alpha:]]+$/, $Last_Name) allows only alphabetical characters (e.g., Smith), alphabetical characters with whitespace then more alphabetical characters (e.g., Au Yong), alphabetical character with apostrophe then more alphabetical characters (e.g., O'Neal), or alphabetical characters with hyphen then more alphabetical characters (e.g., Zeta-Jones). It does not, however, allow alphabetical character with apostrophe then more alphabetical characters then hyphen then more alphabetical characters (D'Agostino-Wong), alphabetical characters with whitespace then more alphabetical characters then hyphen then more alphabetical characters (e.g., von Hollander-Smith), or alphabetical characters with whitespace then more alphabetical characters then hyphen then alphabetical character then apostrophe then more alphabetical characters (e.g, Van Horn-O'Reilly) or anything else anyone may type in or not type in. On Thu, 27 Mar 2003, Jennifer Goodie wrote: This is what I use $LastName = stripslashes($_POST['LastName']); preg_match(/^\w+[\s\-\'\.\w]*$/i, $LastName) This is less strict than yours as I'm allowing whitespace, periods, underscores, hyphens, apostrophes, and numbers because I don't so much care if someone tacks on Jr. or something like that to the end of their name. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2003 3:05 PM To: Jennifer Goodie Cc: John W. Holmes; 'John Nichel'; [EMAIL PROTECTED] Subject: RE: [PHP] Form Validation: Surnames with Apostrophe When I do that: (preg_match(/^[a-z](\\')?[a-z-]+$/i,$_POST[Last_Name]) it won't allow O'Reilly and seems to not allow anything at all On Thu, 27 Mar 2003, Jennifer Goodie wrote: That is because it is not saying that is all that can be in the string. The 'Re' matches that pattern. Put a ^ at the beginning to signify it must start with the pattern and a $ at the end to signify it must end there. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2003 1:19 PM To: John W. Holmes Cc: 'John Nichel'; [EMAIL PROTECTED] Subject: RE: [PHP] Form Validation: Surnames with Apostrophe 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
Re: [PHP] Form Validation: Surnames with Apostrophe
Try 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? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Form Validation: Surnames with Apostrophe
that could work but the user may now submit one or more apostrophes as the Last Name. On Wed, 12 Mar 2003, John Nichel wrote: Try 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? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Form Validation: Surnames with Apostrophe
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