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.