En esta sección presentaremos cómo verificar nombres, correos electrónicos y URL.
El siguiente código utilizará una forma sencilla de detectar si el campo de nombre contiene letras y espacios. Si el valor del campo de nombre es ilegal, se generará un mensaje de error:
$nombre = test_input($_POST["nombre"]);if (!preg_match("/^[a-zA-Z ]*$/",$nombre)) { $nameErr = "Sólo se permiten letras y espacios"; }
![]() | preg_match: realiza coincidencias de expresiones regulares. gramática: int preg_match (cadena $patrón, cadena $asunto [, matriz $coincidencias [, int $banderas]]) Busca en la cadena de asunto una coincidencia con la expresión regular dada por el patrón. Si se proporcionan coincidencias, se completará con los resultados de la búsqueda. $matches[0] contendrá texto que coincida con todo el patrón, $matches[1] contendrá texto que coincida con el primer subpatrón capturado entre paréntesis, y así sucesivamente. |
---|
El siguiente código comprobará si la dirección de correo electrónico es legítima de forma sencilla. Si la dirección de correo electrónico es ilegal, se generará un mensaje de error:
$correo electrónico = test_input($_POST["correo electrónico"]);if (!preg_match("/([w-]+@[w-]+.[w-]+)/" ,$correo electrónico)) { $emailErr = "Formato de correo electrónico ilegal";
El siguiente código verificará si la dirección URL es legal (la siguiente expresión regular se ejecuta en la URL que contiene guiones: "-"). Si la dirección URL es ilegal, se generará un mensaje de error:
$sitio web = test_input($_POST["sitio web"]);if (!preg_match("/b(?:(?:https?|ftp)://|www.)[-a-z0- 9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i",$sitio web)) { $sitiowebErr = "Dirección URL ilegal"; }
El código se ve así:
<?php// Defina variables y configúrelas con valores vacíos de forma predeterminada $nameErr = $emailErr = $genderErr = $websiteErr = "";$name = $email = $gender = $comment = $website = ""; if ($_SERVER ["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "El nombre es obligatorio" } else { $nombre = test_input($_POST["nombre"] // Compruebe si el nombre solo contiene letras y espacios if (!preg_match("/^[a-zA-Z ]*$/",$nombre) ) { $nameErr = "Solo se permiten letras y espacios" } } if (empty($_POST["email"])) { $emailErr = "El correo electrónico es obligatorio" } else { $email = test_input($_POST["email"]); // Comprobar si el correo electrónico es legal if (!preg_match("/([w-]+@[w-]+.[w- ]+ )/",$email)) { $emailErr = "Formato de correo electrónico ilegal"; } } if (empty($_POST["sitio web"])) { $sitio web = ""; } else { $sitio web = test_input($_POST["website"]); // Comprobar si la dirección URL es legal if (!preg_match("/b(?:(?:https?|ftp)://|www.) [- a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i",$ sitio web) ) { $websiteErr = "Dirección URL ilegal"; (empty($_POST["género"])) { $genderErr = "Se requiere género" } else { $género =; test_input($_POST["género"]); }}?>