PHP Formularios - Validar correo electrónico y URL
En este capítulo aprenderemos cómo validar nombres, correos electrónicos y URLs.
PHP - Validar nombre
El siguiente código verificará de forma sencilla si el campo "name" contiene letras y espacios. Si el valor del campo "name" no es válido, se mostrará un mensaje de error:
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "只允许字母和空格";
}
![]() |
preg_match — Realiza una coincidencia de expresión regular. Sintaxis: int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] ) Busca en el string subject el contenido que coincida con la expresión regular dada por pattern. Si se proporciona matches, se rellenará con los resultados de la búsqueda. $matches |
|---|
PHP - Validar correo electrónico
El siguiente código verificará de forma sencilla si una dirección de correo electrónico es válida. Si la dirección de correo electrónico no es válida, se mostrará un mensaje de error:
$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailErr = "非法邮箱格式";
}
PHP - Validar URL
El siguiente código verificará si una dirección URL es válida (la siguiente expresión regular permite que la URL contenga guiones: "-"). Si la dirección URL no es válida, se mostrará 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 的地址";
}
PHP - Validar nombre, correo electrónico y URL
El código es el siguiente:
<?php
// 定义变量并默认设置为空值
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// 检测名字是否只包含字母跟空格
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "只允许字母和空格";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// 检测邮箱是否合法
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailErr = "非法邮箱格式";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// 检测 URL 地址是否合法
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "非法的 URL 的地址";
}
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
if (empty($_POST["gender"])) {
$genderErr = "性别是必需的";
} else {
$gender = test_input($_POST["gender"]);
}
}
?>
Otras extensiones
