首页博客网络编程
获取正确的数据:让 PHP 验证电子邮件和 URL 地址
摘要 使 PHP 验证表单中的电子邮件和 URL 字段可确保提交的详细信息正确无误。 如果不执行验证,您可能无法收集联系信息等关键数据。 PHP preg match 函数用于检查是否可以在特定字符串中找到特定模式。 虽然正是为了让PHP验证电子邮件,但它并不总是产生预期的结果。filter_validate_email

我们学习了如何创建具有必填字段的表单,以便从用户那里检索必要的信息。现在,我们必须了解如何确保输入字段不仅被填充,而且提交的信息是否有效。

如果开发人员希望从用户那里接收信息,PHP 表单验证非常重要。这就是为什么我们将向您介绍 PHP filter_var() 函数。您还将熟悉 PHP preg 匹配功能,并学习 PHP 验证电子邮件地址、URL 地址和昵称。

内容

PHP验证电子邮件,URL和昵称:主要提示

  • 使用用于验证表单的PHP函数,您可以检查电子邮件和URL字段以确保输入有效。

  • 这对于您需要电子邮件输入或链接的任何联系表单都至关重要。

  • 通过使用 PHP 函数,您可以检查字符串是否包含特定模式。preg_match()

确认昵称的方法

下面的示例揭示了一种检查字段是否仅包含字母和空格的方法。如果输入不符合我们的条件,将显示一条错误消息:

复制

if (empty($_POST["name"])) {
  $name_error = "Nickname missing."; 
} else {
 $name = proc_input($_POST["name"]);  // check if name doesn't contain unwanted characters
  if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
    $name_error = "Letters and spaces only.";
  } 
}

注意:PHP preg match是一个用于搜索字符串模式的函数。如果您正在寻找的模式存在,它将返回 true,否则返回 false。

电子邮件验证说明

当您使用 PHP 表单收集联系人数据时,PHP 验证电子邮件地址至关重要。如果忽略并跳过此验证过程,则最终可能会得到一堆无法使用的地址。

PHP 验证电子邮件输入字段的最佳方法之一是使用 .如果输入不满足设置条件,将显示一条错误消息:filter_var()

复制

if (empty($_POST["email"])) {
  $email_error = "Email missing.";
} else {
  $email = test_input($_POST["email"]);  // check e-mail pattern
  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $email_error = "Email invalid."; 
  }
}

网址的验证方式

通过使用以下示例中的代码,我们可以检查输入是否包含有效的 URL 地址。请注意在这种情况下如何允许使用短划线 ()。如果输入不符合我们的条件,将显示一条错误消息。/

请参阅一个简单的示例以更好地了解 PHP URL 验证:

复制

if (empty($_POST["website"])) {
  $website = "";
} else {
  $website = test_input($_POST["website"]);  // check syntax of the URL (dashes allowed)
  if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
    $website_error = "URL Invalid.";
  }
}

最终脚本

让我们看一下 PHP 表单验证的最终脚本。下面的代码包括对所有三种输入类型的验证:电子邮件地址、URL 和昵称。注意如何使用 PHP preg match 函数来搜索特定字符串中的模式:

复制

<?php
  // Defining variables
  $nickname_error = $email_error = $website_error = "";
  $nickname = $email = $feedback = $website = "";  if ($_SERVER["REQUEST_METHOD"] == "POST") {    if (empty($_POST["name"])) {
      $name_error = "Nickname missing.";
    }
  } else {
    $name = proc_input($_POST["name"]);    // check if name doesn't contain unwanted characters
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $name_error = "Letters and spaces only.";
    }
  }  if (empty($_POST["email"])) {
    $email_error = "Email missing.";
  } else {
    $email = proc_input($_POST["email"]);    // check e-mail pattern
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $email_error = "Email invalid."; 
    } 
  }  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = proc_input($_POST["website"]);    // check syntax of the URL (dashes allowed)
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
      $website_error = "URL Invalid.";
    }
  }  if (empty($_POST["feedback"])) {
      $feedback = "";
  } else {
    $feedback = proc_input($_POST["feedback"]);
  }?>

PHP 验证电子邮件、URL 和昵称:摘要

  • 使 PHP 验证表单中的电子邮件和 URL 字段可确保提交的详细信息正确无误。

  • 如果不执行验证,您可能无法收集联系信息等关键数据。

  • PHP preg match 函数用于检查是否可以在特定字符串中找到特定模式。

  • 虽然正是为了让PHP验证电子邮件,但它并不总是产生预期的结果。filter_validate_email



声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/169

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位