PHP Formulaires - Validation de l'e-mail et de l'URL
Dans ce chapitre, nous allons voir comment valider les noms, les e-mails et les URL.
PHP - Validation du nom
Le code suivant utilise une méthode simple pour vérifier si le champ du nom contient des lettres et des espaces. Si la valeur du champ du nom est invalide, un message d'erreur sera affiché :
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "只允许字母和空格";
}
![]() |
preg_match — Effectue une correspondance régulière. Syntaxe : int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] ) Recherche dans la chaîne subject le contenu correspondant à l'expression régulière donnée par pattern. Si matches est fourni, il sera rempli avec les résultats de la recherche. $matches |
|---|
PHP - Validation d'e-mail
Le code suivant utilise un moyen simple pour vérifier si l'adresse e-mail est valide. Si l'adresse e-mail est invalide, un message d'erreur sera affiché :
$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailErr = "非法邮箱格式";
}
PHP - Validation d'URL
Le code suivant vérifiera si l'adresse URL est valide (l'expression régulière suivante autorise les traits d'union "-" dans l'URL). Si l'adresse URL est invalide, un message d'erreur sera affiché :
$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "非法的 URL 的地址";
}
PHP - Validation du nom, de l'e-mail et de l'URL
Le code est le suivant :
<?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"]);
}
}
?>
Autres extensions
