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.'; } ?>