Jump to content

validation issue


hchron28

Recommended Posts

//Simple: must contain 0 to 9 or dash all the way throughout
$telephone_exp = "/^[0-9-]+$/";

But lets expand on that a bit, have some examples below

<?php
$error_message = '';

//city codes
$telephone = "+11 (555) 123-4567";
//10 digit
$telephone = "555-123-4567";
$telephone = "(555) 123-4567";

//must contain 0 to 9 or dash all the way throughout
$telephone_exp = "/^[0-9-]+$/";
//International which includes city codes
$telephone_exp = "/^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/";
//10 digit format with optional parenthesis, separated space or dash
$telephone_exp = "/^(\+0?1\s)?\(?\d{3}\)?[\s-]\d{3}[\s-]\d{4}$/";
 
//make sure you trim the number beforehand for whitespace
$telephone = trim($telephone);

    if(!preg_match($telephone_exp,$telephone)) {
        $error_message .= 'The Telephone you entered does not appear to be valid.<br />';
    }
?>

When it comes down to it is many ways someone can type a phone number into a single text area.

Maybe the right way to do it is to separate each number field in the form and force them to use only numbers, making the city code and area code as optional.

Link to comment
https://forums.phpfreaks.com/topic/296613-validation-issue/#findComment-1513077
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.