PHP: How to validate a telephone number
Posted on September 24, 2008, under PHP,
Bookmark it
This snippet is useful if you need to validate a telephone number using an editable list with specific formats.
<?php
/*
string validate_telephone_number (string $number, array $formats)
*/
function validate_telephone_number($number, $formats)
{
$format = trim(ereg_replace("[0-9]", "#", $number));
return (in_array($format, $formats)) ? true : false;
}
/* Usage Examples */
// List of possible formats: You can add new formats or modify the existing ones
$formats = array('###-###-####', '####-###-###',
'(###) ###-###', '####-####-####',
'##-###-####-####', '####-####', '###-###-###',
'#####-###-###', '##########');
$number = '08008-555-555';
if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}
echo "<br />";
$number = '123-555-555';
if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}
echo "<br />";
$number = '1800-1234-5678';
if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}
echo "<br />";
$number = '(800) 555-123';
if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}
echo "<br />";
$number = '1234567890';
if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}
?>
Do you wish to receive the latest updates as soon as they are posted? Get our RSS Feed or Subscribe to the Newsletter!
- September 24, 2008
- article by Gabriel C.
- 2 comments
Related Posts
-
Validate (input) passwordat August 30, 2008 with 2 comments
-
Validate (input) usernameat August 29, 2008 with 2 comments
-
PHP: How to validate e-mail addresses using regular expressionsat May 21, 2008 with 2 comments
-
Validate numeric stringat May 21, 2008
-
PHP: Check (validate) if the Uploaded File is an Imageat September 24, 2008 with 18 comments

2 Replies to "PHP: How to validate a telephone number"
October 21, 2009 at 2:01 PM
This is great tutorial. Thank you so much.
October 31, 2010 at 12:34 AM
great bro,thanks for this.