PHP Validación de Formulario - Validación de Correo Electrónico y URL
- Página anterior Campo obligatorio de formulario de PHP
- Página siguiente Formulario de PHP completado
Esta sección muestra cómo validar nombre, correo electrónico y URL.
PHP - Validación de Nombre
El siguiente código muestra un método simple para verificar si el campo nombre contiene letras y espacios. Si el campo nombre no es válido, se almacena un mensaje de error:
$name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "¡Sólo se permiten letras y espacios!"; }
Notas:La función preg_match() busca patrones en una cadena, y devuelve true si el patrón existe, de lo contrario devuelve false.
PHP - Validación de Correo Electrónico
El siguiente código muestra un método simple para verificar si la dirección de correo electrónico tiene una sintaxis válida. Si no es válida, se almacena un mensaje de error:
$email = test_input($_POST["email"]); if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Formato de correo electrónico no válido"; }
PHP - Validación de URL
El siguiente código muestra el método para verificar si la sintaxis de la dirección URL es válida (esta expresión regular permite también la barra oblicua en la URL). Si la sintaxis de la dirección URL no es válida, se almacena un mensaje de error:
$website = test_input($_POST["website"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%", =~_|]/i,$website)) { $websiteErr = "URL no válida"; }
PHP - Validación de Nombre, Correo Electrónico y URL
Ahora, el script es así:
Ejemplo
<?php // Definición de variables y establecimiento de valores en blanco $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "El nombre es obligatorio"; } $name = test_input($_POST["name"]); // Verificación de si el nombre contiene letras y espacios if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Sólo se permiten letras y espacios en blanco"; } } if (empty($_POST["email"])) { $emailErr = "El correo electrónico es obligatorio"; } $email = test_input($_POST["email"]); // Verificación de la sintaxis de la dirección de correo electrónico if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Invalid email format"; } } if (empty($_POST["website"])) { $website = ""; } $website = test_input($_POST["website"]); // Verificar si la dirección URL del idioma es válida (esta expresión regular también permite guiones bajos en la URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%", =~_|]/i,$website)) { $websiteErr = "Invalid URL"; } } if (empty($_POST["comment"])) { $comment = ""; } $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "Gender is required"; } $gender = test_input($_POST["gender"]); } } ?>
A continuación, le explicaremos cómo evitar que el formulario vacíe todos los campos de entrada después de que el usuario envíe el formulario.
- Página anterior Campo obligatorio de formulario de PHP
- Página siguiente Formulario de PHP completado