PHP 表单 - 验证邮件和URL


本章节我们将介绍如何验证 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

代码如下所示:

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

PHP 表单 - 4(验证邮件和URL)相关推荐

  1. oform java_客户端表单通用验证checkForm(oForm)(1)

    *--------------- 客户端表单通用验证checkForm(oForm) ----------------- * 本程序最初是由wanghr100(灰豆宝宝.net)的checkForm基 ...

  2. 在ASP.NET中如何用C#.NET实现基于表单的验证

    这篇文章引用到了Microsoft .NET类库中的以下名空间: System.Data.SqlClient System.Web.Security ------------------------- ...

  3. Angualr6表单提交验证并跳转

    在Angular6中,使用NG-ZRROR作为前端开发框架,在进行表单开发时遇到了一些问题,最后解决了,在此记录. 1.表单构造: 引入forms: import { FormGroup, FormB ...

  4. php 自动验证表单类,thinkPHP 表单自动验证功能

    昨天晚上我们老大叫我弄表单自动验证功能,愁了半天借鉴了好多官网的知识,才出来,诶,总之分享一下我自己的成果吧! thinkphp 在Model基类为我们定义了自动验证的函数和正则表达式,我们只需要在对 ...

  5. [转]在ASP.NET中如何用C#.NET实现基于表单的验证(二)

    (五)创建Logon.aspx页面 1.在已创建好的项目里创建一个新的Web 窗体,名为Logon.aspx. 2.在编辑器里打开Logon.aspx,切换到HTML视图. 3.复制下面代码,然后在编 ...

  6. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法

    带参提交一次查询,从服务器加载新数据.这是一个神奇的方法 $('#dg').datagrid('load',{code: '01',name: 'name01' }); easyui修改操作的回显方法 ...

  7. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法...

    带参提交一次查询,从服务器加载新数据.这是一个神奇的方法 $('#dg').datagrid('load',{code: '01',name: 'name01' }); easyui修改操作的回显方法 ...

  8. js实现表单及时验证功能 用户信息立即验证

    问题:表单怎么在输入后立即验证,而不是提交后再验证那么不方便(网上搜到的要么是模棱两可,要么是残缺不全-) 方法:鉴于此,小可,水山奇,将其代码补全,加上小可我个人的理解(注释)在上面,仅供后来者少走 ...

  9. js登录特效+ajax提交表单+异步刷新验证

    今天成功测试一种js登录特效+ajax提交表单+异步刷新验证,登录时特效提醒,无刷新ajax提交表单,获取验证结果,跳转正式页面:废话不多说,先直接分享代码: 1.主界面index.php  加载的这 ...

最新文章

  1. 宁德时代机器人编程开发_全球首例丨可编程的活体机器人已诞生,100%青蛙基因,超级计算机时代,将无所不能?!...
  2. 以管理员权限来进行解压操作
  3. [转载]JAVA实现鼠标右键功能
  4. Jersey和Spring Boot入门
  5. 13寸笔记本电脑尺寸_如何判断行李箱的尺寸?标准行李箱尺寸对照表(13~32寸)
  6. 阿里云杨敬宇:四层技术构建基于城市场景的边缘计算
  7. Basic INFO: InstallShield中如何获取所调用Exe的返回值
  8. 上过云么?一行代码秒上云体验过么?
  9. JAVA线程池_并发队列工作笔记0002---认识线程池_在线程池中使用队列
  10. 手机上最好用的五笔输入法_聊聊手机最好用的几个功能
  11. Python 基础 —— pip 的使用(修改国内源)
  12. 飞机游戏跟踪导弹的算法[C#源码]
  13. 读书摘要——矇矇的秘密基地(关于DODAF)
  14. Attempt to invoke virtual method 'void android.support.v4.app.Fragment.setNextAnim(int)'
  15. 解读基于数加的大数据仓库解决方案
  16. MATLAB视频转图片保存
  17. 30个世界顶级思维,看完豁然开朗
  18. JS 数字转换为EXCEL字母列
  19. 【微信小程序】接口生成自定义首页二维码
  20. Debian7.5--双屏显示问题

热门文章

  1. mac怎么用python3.0_怎么在mac中使用python
  2. winforms 动态画折线 不用chart_QT charts 动态刷新曲线图
  3. php ecos,php
  4. 智能车竞赛技术报告 | 智能车视觉 - 太原工业学院 - 晋速-轩辕星
  5. 第十六届全国大学生智能汽车竞赛总决赛 AI视觉组线上赛图片显示软件发布及线上赛注意事项
  6. 第十六届全国大学智能车竞赛东北赛区报名信息统计
  7. 第十六届智能车竞赛视觉AI组相关议题讨论
  8. 2021年信号与系统处理期中考试与课堂交互分数
  9. 以赛促学,飞桨助力大学生智能车竞赛升级
  10. 看看那些双车中接力装置