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

本节展示如何验证名字、电邮和 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("/(?:(?: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("/(?:(?: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"]);

}

}

?>

接下来向您讲解如何防止表单在用户提交表单后清空所有输入字段。

php 验证 e mail,PHP 表单验证 - 验证 E-mail 和 URL相关推荐

  1. html5表单密码验证及提示,HTML5表单及其验证(示例代码)

    1.输入型控件 Input type 用途 说明 email 电子邮件地址文本框 url 网页URL文本框 number 数值的输入域 属性 值 描述 max number 规定允许的最大值 min ...

  2. HTML 表单和验证

    HTML5表单验证 本笔记参考b站视频总结,如有侵权请联系我.视频地址:https://www.bilibili.com/video/BV16K4y1Z7Gb?p=1&vd_source=df ...

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

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

  4. html5表单验证没有效果,HTML5表单验证特性(知识点小结)

    前台提交信息到后台一般两种常见提交方式: Form表单提交 和 Ajax无刷新页面提交 placeholder 不是所有的input都支持,比如input date就不支持 解决方案: 可以在date ...

  5. 新工具:表单/Cookie 验证网站爬网设置工具

    在今年3月份的blog里面,我曾经说过SharePoint Team将会发布一个补丁来让SharePoint Server 2007的搜索引擎支持对基于表单/Cookie验证的网站进行爬网.今天,Sh ...

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

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

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

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

  8. golang表单及验证支持

    在Web开发中对于这样的一个流程可能很眼熟: 打开一个网页显示出表单. 用户填写并提交了表单. 如果用户提交了一些无效的信息,或者可能漏掉了一个必填项,表单将会连同用户的数据和错误问题的描述信息返回. ...

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

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

  10. php中表单的非空验证,Javascript的表单与验证-非空验证_javascript技巧

    JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 表单提交前要检查数据的合法性 在要对表单里的数据进行验证的时候,可以利用getElementById()来 ...

最新文章

  1. vba保存文件为xlsx格式_Vba把Excel某个范围保存为XLS工作薄文件
  2. php十天入门教程,十天学会php之第十天_PHP教程
  3. 十字相乘法c语言,十字相乘法的运算方法
  4. 自建分布式存储新选择,性能是Ceph的1.84倍
  5. insightface mxnet训练 旧版
  6. MATLAB从入门到精通-Matlab R2020b新功能 | 子标题和标题/标签对齐功能!
  7. ora00936缺失表达式怎么解决_正则表达式替换函数
  8. oracle数据库计数器,DM 达梦数据库 表的 行计数器(COUNTER)属性
  9. 让你的PHP4和PHP5共存
  10. Java面试题之有没有有顺序的Map实现类,如果有,他们是怎么实现有序的?
  11. 哨兵一号数据snap预处理_利用SNAP软件进行Sentinel-1A卫星微波影像的预处理
  12. (转)CentOs 设置静态IP 方法
  13. PyQt4(简单界面)
  14. [转] boost库的Singleton的实现以及static成员的初始化问题
  15. Syntaxhighligher 使用中的一些问题
  16. datagridview 不显示行号的问题
  17. mysql test 映射到实体_第80天:Python 操作 MySQL
  18. 计算机磁盘在线分区,电脑硬盘分区知多少 怎么分区才合理?
  19. 数字化转型的衡量指标
  20. 让国外买家秒回复的询盘模板示例

热门文章

  1. 【翻译】【CGWORLD】怪物猎人携带版3rd制作介绍
  2. [你必须知道的css系列]第一回:丰富的利器:CSS选择符之通配符、类选择符、包含选择符、ID选择符...
  3. Google Chrome等浏览器不允许关闭点击跟踪??
  4. 飞利浦弃意已决 冠捷顺势接手
  5. 德哥:从Oracle DBA到PostgreSQL布道者
  6. 那些年的那些事CISC和RISC发展中的纠缠
  7. Leetcode Wildcard Matching
  8. MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
  9. TestFlight
  10. 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?