Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/03/2012, 00:32
Avatar de JairLizcano
JairLizcano
 
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 16 años, 5 meses
Puntos: 53
Exclamación Respuesta: Como valida numero de telefono

Prueba con lo siguiente:

Código PHP:
<?php 
require ("ClassMathGuard.php"); 
if(
$_POST

$javascript_enabled trim($_POST['browser_check']); 
$department trim($_POST['dept']); 
$name trim($_POST['name']); 
$email trim($_POST['email']); 
$phno trim($_POST['phno']); 
$subject trim($_POST['subject']); 
$msg trim($_POST['msg']); 
$selfcopy trim($_POST['selfcopy']); 


//mail settings 
$sales_address "[email protected]"
$support_address "[email protected]"
$billing_address "[email protected]"
$headers "From: ".$email
$message "Contact name: $name\nContact Email: $email\nContact Phone: $phno\n\nMessage: $msg"

if (
MathGuard :: checkResult($_POST['mathguard_answer'], $_POST['mathguard_code'])) {  

    if ( 
$department == "sales"$to $sales_address
    elseif ( 
$department == "support"$to $support_address
    elseif ( 
$department == "billing"$to $billing_address

    if ( 
$name == "" 
    { 
        
$result "Name field is required"
    } 
    elseif (!
preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/"$email))  
    { 
        
$result "Enter a valid email address"
    } 
    elseif(!(
preg_match("/^([0-9]{4})(-)([0-9]{7})$/"$phno)) || !(preg_match('/^([0-9]{3})(-)([0-9]{4})(-)([0-9]{4})$/'$phno))) //check for a pattern of 91-0123456789 
    

        
$result "Enter a valid phone number"
    } 
    elseif ( 
$subject == "" 
    { 
        
$result "Subject is required"
    } 
    elseif ( 
strlen($msg) < 10 
    { 
        
$result "Write more than 10 characters"
    } 
    else 
    {     
         
            
mail($to$subject$message$headers); 
        if( 
$selfcopy == "yes" 
            
mail($email$subject$message$headers); 
        
$result "Your mail has been sent succesfully!"
         
    } 

else 
$result "Bad Answer, Please try again!"
     
    if(
$javascript_enabled == "true") { 
        echo 
$result
        die(); 
    } 


?>
Ahora bien, no sé realmente a qué formato de números lo estés adaptando, la expresión regular te está indicando que sí o sí debe ser la primera línea de número de 4, un guión (-) y la siguiente línea de 7 caracteres, posteriormente si tiene más o menos caracteres será considerada como incorrecta (para el caso del primer patrón).

Si tiene los rangos de valores, con gusto te adaptaría la expresión regular.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.