本章节我们将介绍如何验证 names(名称), e-mails(邮件), 和 URLs。

  PHP - 验证名称

  以下代码将通过简单的方式来检测 name 字段是否包含字母和空格,如果 name 字段值不合法,将输出错误信息:

  $name = test_input($_POST["name"]);

  if (!preg_match("/^[a-zA-Z ]*$/",$name)) {

  $nameErr = "只允许字母和空格";

  }

preg_match — 进行正则表达式匹配。

  语法:

  int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] )

  在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。如果提供了 matches ,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。

  PHP - 验证邮件

  以下代码将通过简单的方式来检测 e-mail 地址是否合法。如果 e-mail 地址不合法,将输出错误信息:

  $email = test_input($_POST["email"]);

  if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {

  $emailErr = "非法邮箱格式";

  }

  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

  代码如下所示:

  

  // 定义变量并默认设置为空值

  $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"]);

  }

  }

  ?>(编辑:雷林鹏 来源:网络 侵删)

转载于:https://www.cnblogs.com/linpeng1/p/11039498.html

雷林鹏分享:PHP 表单 - 验证邮件和URL相关推荐

  1. PHP 表单 - 4(验证邮件和URL)

    PHP 表单 - 验证邮件和URL 本章节我们将介绍如何验证 names(名称), e-mails(邮件), 和 URLs. PHP - 验证名称 以下代码将通过简单的方式来检测 name 字段是否包 ...

  2. 雷林鹏分享:PHP 表单验证

    PHP 表单验证 在处理PHP表单时我们需要考虑安全性. 本章节我们将展示PHP表单数据安全处理,为了防止黑客及垃圾信息我们需要对表单进行数据安全验证. 在本章节介绍的HTML表单中包含以下输入字段: ...

  3. 群里分享的react的收藏一下!今日周末,改了个表单验证然后无所事事了!

    今日周末,改了个表单验证然后无所事事了,然后把昨天群里分享的react的收藏一下尽管现在还在研究angular和nodeJs毕竟刚刚开始用有点不熟...没准以后会研究一下react毕竟看着下面这张图还 ...

  4. html自动验证邮件地址格式,JavaScript表单验证和邮箱格式验证的方法

    JavaScript 表单验证 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 被 JavaScript 验证的这些典型的表单数据有: 用户是否已填写表单 ...

  5. 分享21个JS抽奖转盘特效,36个JS表单验证,31个JS进度条,总有一款适合您

    分享21个JS抽奖转盘特效,36个JS表单验证,31个JS进度条,总有一款适合您 下载链接:https://pan.baidu.com/s/1TWOGqes5J2baelO9qdItXg?pwd=ma ...

  6. 雷林鹏分享:PHP Secure E-mails

    在上一节中的 PHP e-mail 脚本中,存在着一个漏洞. PHP E-mail 注入 首先,请看上一章中的 PHP 代码: if (isset($_REQUEST['email'])) { // ...

  7. 密码与确认密码自动验证html,html表单验证确认密码

    编写HTML注册表单,,javascript表单验证 编写HTML注册表单,,需要字段:用户名,密码,确认密码,邮件,确认邮件,性汗....阁下语气可以舒缓一些吗? 我们抽出自己的时间来帮助别人,不是 ...

  8. JavaScript 表单与表单验证

    JavaScript 表单 JavaScript 表单验证 HTML 表单验证可以通过 JavaScript 来完成. 以下实例代码用于判断表单字段(fname)值是否存在,如果存在,则弹出信息,否则 ...

  9. Angular 表单验证类库 ngx-validator 1.0 正式发布

    背景介绍 之前写了一篇 <如何优雅的使用 Angular 表单验证>,结尾处介绍了统一验证反馈的类库 ngx-validator ,由于这段时间一直在新模块做微前端以及相关业务组件库,工具 ...

  10. ExtJs Form 表单验证

    extjs表单验证 //放在onReady的function(){}中 Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息. Ext ...

最新文章

  1. 怎样在bug管理上节省时间
  2. iOS11适配tableView顶部空白
  3. Android应用的基本组件介绍
  4. ios raise_如何在iOS 10中关闭“ Raise to Wake”
  5. 活动安排问题(51Nod-1428)
  6. HDZ城市行深圳站|AIoT时代,如何抓住智联生活的战略机会点?
  7. java 数据类型转换的一场_Java数据类型之间的转换
  8. 如何学习财务数据分析,有哪些好工具?
  9. 码栈使用手册(二)---界面介绍
  10. 快速上手爬虫,有哪些方便实用的工具和服务?
  11. 百度携手重庆渝中区,打造区块链大数据智能化应用示范城区
  12. C/C++常用函数汇总
  13. 给大家分享一些IT网课资源的学习网站啦
  14. TRINAMIC静音步进驱动TMC2208模块的基本调试方法
  15. vue-cli 组件传值:父传子props
  16. 【Kotlin】学习小记-基础篇
  17. wx.getUserProfile调用后没有反应?获取不到真正的用户头像和昵称
  18. 【JQuery Mobile移动应用开发实战】JQuery Mobile基础——页面与对话框
  19. 中国主动电磁轴承行业市场供需与战略研究报告
  20. 介绍一位零基础转行数据分析的好友

热门文章

  1. 利用监听器实现在线人数统计
  2. zabbix 3.0快速安装简介(centos 6)
  3. FLEX中Tree默认展开全部节点
  4. POJ 1398 Complete the sequence! ★ (差分)
  5. RESTful-rest_framework视图层-第三篇
  6. Python文件与函数练习题
  7. jQuery firefox chrome IE 绑定mousewheel事件
  8. Linux环境下NodeJS和MongoDB的安装配置
  9. JAVA之继承的必要性
  10. .NET应用程序与数据库交互的若干问题