> -----Original Message-----
> From: Merlin [mailto:[EMAIL PROTECTED]
> Sent: 02 November 2004 10:49
> To: [EMAIL PROTECTED]
> Subject: [PHP] validate international phone numbers
>
>
> Hi,
>
> I am trying to validate international phone numbers before adding
> into a db.
> After a bit of research I came up with this regex:
>
> return (ereg('^[0-9]{1,3}\.[0-9]{1,6}\.[0-9]{1,8}$', $phone));
> However, this tightens the numbers to something like this:  409.711.933838
>
> Thats a problem, since some countries have complete other formats
> and some
> peopole place a + in front and a : instead of . or even just the number.
>
> Can anybody recommend a good regex to validate this? I am not to good at
> creating regex :-(
>
> Thanx for any help,
>
> Merlin

I know this is not exactly what you were asking, but, some time ago I did
some phone number validation/formatting but not in PHP.

IIRC I had a list of countries each of which had the relevant international
dialling code recorded.

The user of a form would select their country and enter a telephone number.
The international dialling code would be added if not present or validated
if '+' was present. Any leading 0 (after an int. code) would be removed.
Beyond that I think all you can do is validate that a certain number of
digits must have been entered as different people/countries use different
formatting chars: space , . - : etc etc

Another approach would be to request each component separately: int.code,
area code, local number.

This of course was all done within a function/class not a single statement.

HTH
Graham

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

Reply via email to