On Tue, 19 Mar 2002, Kris Vose wrote:
> How would you write a regular expression that defines a phone number:  ex. 
> In other words how would you check to see if there were three numerics surrounded by 
>(), then three numerics with a "-", then four numerics.
> This is what I have so far as a regular expression.
> ^[(000-999)]+[000-999\-]+[0000-9999]+$
> I am using this in an if statement like this:
> If (!eregi("^[(000-999)]+[000-999\-]+[0000-9999]+$", $PHONENUMBER)
> {
> echo "This phone number is not valid";
> }

Aside from the fact that your regexp isn't valid (look for a little 'n' in
the documentation), you might want to consider just stripping the number
down to digits (ereg_replace('[^0-9]', '', $number)) and then testing to
make sure that has 10 digits (11 if the first figit is a 1) and doesn't
begin with 0.

Why force people to use your particular punctuation scheme?

Some people write:

   (202) 555-1212

There's no point in making them jump through hoops just to save 2 lines of 
code. Sites that enforce silly things like that really turn me off.

You can always impose your preferred formatting after verifying the raw 
number's validity.


PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to