`

PHP 表单验证 - 验证 E-mail 和 URL

    博客分类:
  • php
php 
阅读更多

PHP 表单验证 - 验证 E-mail 和 URL
PHP 表单必填
PHP 表单完成
本节展示如何验证名字、电邮和 URL。
PHP - 验证名字
以下代码展示的简单方法检查 name 字段是否包含字母和空格。如果 name 字段无效,则存储一条错误消息:
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
  $nameErr = "只允许字母和空格!"; 
}
注释:preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false。
PHP - 验证 E-mail
以下代码展示的简单方法检查 e-mail 地址语法是否有效。如果无效则存储一条错误消息:
$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
  $emailErr = "无效的 email 格式!"; 
}
PHP - 验证 URL
以下代码展示的方法检查 URL 地址语法是否有效(这条正则表达式同时允许 URL 中的斜杠)。如果 URL 地址语法无效,则存储一条错误消息:
$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%
=~_|]/i",$website)) {
  $websiteErr = "无效的 URL"; 
}
PHP - 验证 Name、E-mail、以及 URL
现在,脚本是这样的:
实例
<?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 = "Only letters and white space allowed"; 
    }
  }

  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
    // 检查电邮地址语法是否有效
    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
      $emailErr = "Invalid email format"; 
    }
  }

  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
    // 检查 URL 地址语言是否有效(此正则表达式同样允许 URL 中的下划线)
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%
    =~_|]/i",$website)) {
      $websiteErr = "Invalid URL"; 
    }
  }

  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = test_input($_POST["comment"]);
  }

  if (empty($_POST["gender"])) {
    $genderErr = "Gender is required";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}
?>

分享到:
评论

相关推荐

    发送E-mail

    这里的`&lt;form&gt;`标签定义了表单,`action`属性指定了接收并处理表单数据的PHP脚本路径(`mailform.php`)。`method`属性设置为`post`表示数据将以HTTP POST方法发送,这比GET更安全,因为数据不会显示在URL中。 ### ...

    实例讲解PHP表单验证功能

    PHP 表单验证 提示:在处理 PHP 表单时请重视安全性! 这些页面将展示如何安全地处理 PHP 表单。对 HTML 表单数据进行适当的验证对于防范黑客和垃圾邮件很重要! 我们稍后使用的 HTML 表单包含多种输入字段:必需...

    使用jquery验证并发送E-mail

    本文将深入探讨如何使用jQuery进行电子邮件验证和发送。首先,我们需要理解两个核心概念:电子邮件验证和Ajax通信。 电子邮件验证是确保用户输入的格式符合标准电子邮件格式的过程。在JavaScript中,我们可以使用...

    表单提交到邮箱php

    在IT领域,表单提交到邮箱的实现是一个常见的需求,特别是在网页...这就是一个简单的PHP表单提交到邮箱的实现过程。当然,实际应用中还需要考虑错误处理、邮件验证、防止垃圾邮件等问题,以提高系统稳定性和安全性。

    php 表单验证实现代码

    在进行PHP表单验证时,可以使用一些内置的函数或库来简化验证过程,比如`filter_var()`函数可以用于验证电子邮件、URL和整数等数据类型。除此之外,还可以使用PHP的一些其他内置函数如`preg_match()`来进行正则...

    php教程 ②当当网-用户注册验证

    PHP的`mail()`函数可以用于发送邮件,而URL中携带的唯一令牌(通过数据库存储)可用于验证过程。 通过学习这个“当当网-用户注册验证”教程,你可以掌握PHP处理用户注册的核心技术,为构建安全、功能完善的Web应用...

    使用具有mvc框架的php mailer创建php邮件发送表单.zip

    - View:创建一个HTML表单页面,如`mail-form.php`,包含邮件字段和提交按钮。表单的`action`属性指向控制器处理表单提交的URL。 - Controller:创建一个`MailController`类,有一个`submitForm()`方法,它接收并...

    jQuery Ajax无刷新提交表单并执行邮件通知

    jQuery提供了丰富的DOM操作和事件处理函数,使得前端表单验证变得简单而高效。在`index.html`中,我们通常会为表单元素绑定`blur`或`change`事件,当用户离开输入框或输入内容改变时进行实时验证。例如,我们可以...

    calo-landing-page-with-mail-sending:https

    7. `mail.php`:可能是处理邮件发送的单独脚本,接收来自`index.php`的表单数据并使用PHPMailer或类似库发送邮件。 8. `.gitignore`:定义了哪些文件和目录在版本控制中应该忽略。 9. `README.md`:项目说明文件,...

    php操作常用class集 - 副本.rar

    4. 表单处理和验证类: - `Form`:处理表单提交,包括获取POST/GET数据,验证输入等。 - `Validator`:数据验证类,定义各种验证规则,如邮箱格式、密码强度等。 5. Session和Cookie管理类: - `Session`:管理...

    基于PHP的蓝宝石php留言本.zip

    1. **用户提交留言**:访客可以通过填写姓名、邮箱和留言内容,提交自己的想法或问题,这通常涉及到表单处理和数据验证的PHP脚本。 2. **留言显示**:系统能够将已有的留言以列表形式展示,包括留言者的名字、...

    php-ajax-form:用于将表单发送到电子邮件的 PHP + AJAX 脚本

    在事件处理函数中,获取表单数据,序列化为JSON或URL编码格式,然后设置AJAX请求的URL(通常是PHP处理脚本的URL)、HTTP方法(POST)、请求头(如Content-Type)和请求体(表单数据)。 3. **PHP处理**:在服务器端...

    PHP实例开发源码-嘉缘 php人才系统UTF8.zip

    5. **表单处理**:包括用户填写的简历、申请职位等,PHP将处理表单提交,验证数据,可能还会涉及到文件上传(如简历附件)。 6. **模板引擎**:为了使界面易于维护和更新,可能采用了某种模板引擎,如Smarty,将...

    PHP form contact

    综上所述,"PHP form contact"是一个涉及HTML表单设计、PHP数据处理、表单验证、邮件发送以及用户交互的综合实践,对于初学者和Web开发者来说,这是一个很好的学习项目。在实现过程中,理解并掌握上述知识点至关重要...

    PHP Filter过滤器全面解析

    PHP Filter过滤器是PHP中用于处理和验证非安全来源数据的工具,特别是在处理用户输入时。这些过滤器有助于确保应用程序接收到的是预期的数据类型,从而提高应用的安全性和稳定性。过滤器扩展使得数据过滤过程变得...

    新規登録機能_PHP編1

    2. 邮件确认与发送(registration_mail_check.php):处理邮件发送,包括生成令牌和保存到数据库。 3. 会员注册表单(registration_form.php):用户输入账号和密码的页面。 4. 注册确认(registration_check.php)...

    PHP实例开发源码-虎年祝福程序php版.zip

    在这个虎年祝福程序中,可能会有用户提交表单或者触发特定URL来启动祝福功能。 3. **时间与日期函数**:为了判断是否在虎年期间发送祝福,程序可能使用了PHP的内置日期和时间函数,如`date()`和`strtotime()`,来...

    PHP实例开发源码-仿newhua资讯门户模板 php版.zip

    10. **邮件发送**:可能还包含了邮件发送功能,如用户注册验证、新闻订阅通知等,可以使用PHP的mail()函数或第三方库如PHPMailer实现。 压缩包内的"132699091846523488"很可能是一个二进制文件,可能是数据库文件...

    PHP实例开发源码-LUOCRM客户关系管理系统.zip

    5. **表单处理与验证**:在LUOCRM中,表单数据的提交和验证是关键部分,PHP提供了诸如filter_var函数等工具来验证用户输入,防止SQL注入和其他安全威胁。 6. **路由与控制器**:系统中的URL路由和控制器负责根据URL...

    PHP实例开发源码-律师事务所法律咨询源码.zip

    4. **表单处理**:用户咨询通常通过Web表单提交,PHP会处理这些表单数据,进行验证,然后将合法数据保存至数据库。这涉及到`$_POST`全局变量,以及`filter_var`函数进行数据过滤和验证。 5. **用户认证与授权**:...

Global site tag (gtag.js) - Google Analytics