php 邮箱开发教程,php开发中表单验证邮箱及URL的教程

这篇文章讲述的是php开发中表单验证邮箱及URL的教程。下面是小编整理于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

现在,脚本是这样的:

实例

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

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

}

}

?>

以上分享就是这些,更多教程请关注php官网。关于php培训笔记、资料等相关教程每日都会在php官网更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab函数算错,函数是这个样子的,我是不懂应该怎么输入,试了好多种情况都是错...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼函数全部如下:function [Graph,varargout] GraphLoad(FileName,IndexFileName,SkipSqueeze,varargin)% Loads a graph from file%% Receives:% FileName - string - the file to load% Nx2 of integers - the actual l…

defaultdict python3,Python collections.defaultdict() 与 dict的使用和区别|python3教程|python入门|python教程...

https://www.xin3721.com/eschool/python.html在Python里面有一个模块collections,解释是数据类型容器模块。这里面有一个collections.defaultdict()经常被用到。主要说说这个东西。综述:这里的defaultdict(function_factory)构建的是一个类似dictionary…

matlab 当已知两个矩阵满足分别一定条件时_程序继续执行,MATLAB程序设计基础

2.1常量与变量2.1.1 特殊常量变量名功 能 说 明ANS(ans)缺省变量名,以应答最近一次操作运算结果i或j虚数单位Pi圆周率NaNNot-a-number,表示不定值tic秒表开始执行INF(inf)代表无穷大toc秒表停止Date日历Clock时钟2.1.2一般变量变量命名遵守的原则:1、 变…

java 四人帮,Java PatternDesign of GOF(四人帮巨著,享誉15年)第十五模式

Java PatternDesign of GOF(四人帮力作,享誉15年)第十五模式Java PatternDesign of GOF(四人帮力作,享誉15年)第十五模式板桥里人 http://www.jdon.com 2002/04/21(转载请保留)Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求reque…

php火车订票系统设计论文,基于JSP的火车票订票系统 JSP146(毕业设计+论文)

摘 要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分使用计算机对火车信息进行管理,具有手工管理所无法比拟…

php cachelock,巧用lock解决缓存击穿的解决方案

背景缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。解决方案1、设置热点数据永远不过期…

nginx php 防止跨站,Nginx下多网站单独php-fpm进程目录权限防跨站

Nginx下开多个虚拟机网站防跨站是首要的任务,PHP5.3之前的版本不支持open_basedir,只能通过控制PHP-cgi进程及目录用户权限进行限制,防止跨站访问。先了解一下网站正常运行所用到的用户、目录权限:Nginx进程运行用户:接…

php wmi,window_Win7系统中的wmi控件是什么?有什么用?,  wmi控件是什么Windows - phpStudy...

Win7系统中的wmi控件是什么?有什么用?wmi控件是什么Windows Management Instrumentation (WMI) 控件是一种工具,可以用它配置远程计算机或本地计算机上的 WMI 设置。wmi控件功能1、备份储存库可以配置 WMI 控件以定期备份 WMI 储存库&#xf…

php使用aes256加密,PHP中的AES-256加密

看看mcrypt moduleAES-Rijndael的例子取自here$iv_size mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);$iv mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM);$key pack(H*, "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");#…

mysql 目录更改 php,Linux下更改MySQL目录

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步: 1、home目录下建立da更改MySQL目录MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:1、home目录下建立data…

php扩展返回字符数组,PHP扩展之数组字符串处理

今天介绍一下PHP扩展来处理数组和字符串,附带一个对比原生PHP的处理效率:我的测试机是装的PHP5.6.12,实现下面这个功能:function phprandstr($a, $z, $n) {$b array();$max count($a);for ($i 0; $i $tmp "";for ($j 0; $j $z…

jsp源码oracle数据库,JSP与oracle数据库交互案例

本案例为咖啡销售情况录入查询系统一、数据输入系统:1. 设计输入信息页面代码如下:咖啡管理系统——录入系统欢迎来到录入系统vcm0gYWN0aW9uPQ"inputaction.jsp" method"post" name"form1" id"form1">咖啡名…

oracle查询可更新结果集,jdbc 可更新结果集

jdbc中ResultSet在jdk 5.0以后默认都是可滚动的,不可更新的。可滚动的意思是我们可以调用absolute(),previous(), first()等操作来更新结果集中的指针位置。当我们需要结果集可更新的时候,可以设置它的值为ResultSet.CONCUR_UPDATABLE&#…

oracle 28000错误码,Oracle数据库 ORA-28000 错误处理方式

Oracle数据库ORA-28000错误处理方式ORA-28000:the account is locked-的解决办法ORA-28000:the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob,查看us…

为什么选择matlab,matlab选择语句

matlab程序if语句用法MATLAB中我们常常用到条件判断语句结构,通过实例介绍这个结构的用法: 1、if。..end结构,运行下面的句子,此条件语句是判断5是否大于3,如果大于3,就将1赋值给; 2、if。.else…

崔华 oracle简历,2013数据库大会:崔华-基于Oracle的SQL优化案例分析

2013数据库大会:崔华-基于Oracle的SQL优化案例分析崔华的新书即将出版,其数据库大会上的演讲也非常精彩,他的新书十分值得期待。2013年中国数据库技术大会第二天的"Oracle架构与优化"专场中,来自中航信资深Oracle数据库工程师崔华为…

模板消息 php实例,PHP微信模板消息操作示例

本文实例讲述了PHP微信模板消息操作方法。分享给大家供大家参考,具体如下:微信SDK:class Oauth {//获得全局access_tokenpublic function get_token(){//如果已经存在直接返回access_token//if($_SESSION[access_token] && $_SESSION…

非阻塞 php,PHP异步非阻塞之路

需求一个简单的需求,提交大量数据到远程服务器,此时并不需要等待返回。另一个需求,获取API数据,同时查询数据库,并行处理,加快响应速度。配置问题set_time_limitignore_user_abortfastcgi_finish_request只…

linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案

Linux监控进程,进程关闭自动重启方案corntabshell脚本检测进程这个方案简单不用额外安装软件。缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的#!/bin/bash#author smallForest#email 1032817724qq.comproc_name"xiaofei.php" …

https脚本调linux执行器,linux平台下一键配置网站https

部署过SSL证书的人都知道,申请和部署一张SSL证书是相当繁琐而漫长的过程,枯燥无味的部署指南、非常容易出错的命令、复杂的编辑配置等等,在linux平台下,更加痛不欲生。LZ试用了SSL证书自动配置工具,支持linux平台下自动…