¿se puede adivinar el mensaje de error?
además creo que estas entendiendo mal la función
preg_match() pues devuelve un
integer en caso de que la expresión sea hallada... pero tu lo haces al revés, si coincide la expresión dices que no es correcto el formato...
preg_match()
http://php.net/preg_match