RE: [PHP] Form Validation: Surnames with Apostrophe

2003-03-27 Thread tpc

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

2003-03-27 Thread Jennifer Goodie
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

2003-03-27 Thread tpc

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

2003-03-27 Thread Jennifer Goodie
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

2003-03-27 Thread tpc

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

2003-03-27 Thread Andre Dubuc
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

2003-03-12 Thread John Nichel
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

2003-03-12 Thread tpc

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

2003-03-12 Thread John W. Holmes
  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