php 表单验证实现代码


Posted in PHP onMarch 10, 2009
<html> 
<head> 
<title>Form</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<script language="javascript" src="form.js" src="form.js"></script> 
</head> <body> 
<form action="post.php" method="get" name="form1" onsubmit="return form_sub()"> 
<table width="271" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td width="85"><div align="right">姓名:</div></td> 
<td width="186"><input name="username" type="text" id="username"></td> 
</tr> 
<tr> 
<td><div align="right">密码:</div></td> 
<td><input name="password" type="password" id="password"></td> 
</tr> 
<tr> 
<td><div align="right">密码确认:</div></td> 
<td><input name="password2" type="password" id="password2"></td> 
</tr> 
<tr> 
<td><div align="right">性别:</div></td> 
<td><select name="sex" id="sex"> 
<option value="0" selected>男</option> 
<option value="1">女</option> 
</select></td> 
</tr> 
<tr> 
<td><div align="right">生日:</div></td> 
<td><input name="birthday" type="text" id="birthday"></td> 
</tr> 
<tr> 
<td><div align="right">E-mail:</div></td> 
<td><input name="email" type="text" id="email"></td> 
</tr> 
<tr> 
<td><div align="right">职业:</div></td> 
<td><input name="job" type="text" id="job"></td> 
</tr> 
</table> 
<p align="center"> 
<input type="submit" value="Submit"> 
<input type="reset" value="Reset"> 
</p> 
</form> 
</body> 
</html>
function form_sub() 
{ 
if(!test_username(document.form1.username.value)) 
{ 
alert("姓名格式不正确"); 
return false; 
} if(!test_date(document.form1.birthday.value)) 
{ 
alert("日期格式不正确"); 
return false; 
} 
if(!test_email(document.form1.email.value)) 
{ 
alert("E-mail地址格式不正确"); 
return false; 
} 
if(!test_password(document.form1.password.value, document.form1.password2.value)) 
{ 
alert("两次密码输入不相同"); 
return false; 
} 
} 
function test_username(str_username) 
{ 
var pattern = /[a-zA-Z_]/; 
if(pattern.test(str_username)) 
return true; 
else 
return false; 
} 
function test_date(str_birthday) 
{ 
var pattern = /[0-9]{4}-[0-9]{2}-[0-9]{2}/; 
if(pattern.test(str_birthday)) 
return true; 
else 
return false; 
} 
function test_email(str_email) 
{ 
var pattern = /^[a-zA-Z0-9_.]+@([a-zA-Z0-9_]+.)+[a-zA-Z]{2,3}$/; 
if(pattern.test(str_email)) 
return true; 
else 
return false; 
} 
function test_password(str_p1, str_p2) 
{ 
if(str_p1==str_p2) 
return true; 
else 
return false; 
}
<?php 
//本程序用于接收来自HTML页面的表单数据并进行相应的验证 
$founderr = false; //初始化founderr变量,表示没有错误 
if(!ereg("[a-zA-Z_]", $_GET['username'])) 
{ 
echo "姓名格式不正确<BR>"; 
$founderr = true; 
} if(!ereg("[0-9]{4}-[0-9]{2}-[0-9]{2}", $_GET['birthday'])) 
{ 
echo "日期格式不正确<BR>"; 
$founderr = true; 
} 
if(!ereg("^[a-zA-Z0-9_.]+@([a-zA-Z0-9_]+.)+[a-zA-Z]{2,3}$", $_GET['email'])) 
{ 
echo "E-mail地址格式不正确<BR>"; 
$founderr = true; 
} 
if($_GET['password'] != $_GET['password2']) 
{ 
echo "两次密码输入不相同"; 
$founderr = true; 
} 
if(!$founderr) 
{ 
?> 
<html> 
<head> 
<title>Form</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 
<body> 
<table width="271" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td width="85"><div align="right">姓名:</div></td> 
<td width="186"><?php echo $_GET['username'] ?></td> 
</tr> 
<tr> 
<td><div align="right">密码:</div></td> 
<td><?php echo $_GET['password'] ?></td> 
</tr> 
<tr> 
<td><div align="right">性别:</div></td> 
<td><?php if($_GET['sex']==0) echo "男"; else echo "女" ?></td> 
</tr> 
<tr> 
<td><div align="right">生日:</div></td> 
<td><?php echo $_GET['birthday'] ?></td> 
</tr> 
<tr> 
<td><div align="right">E-mail:</div></td> 
<td><?php echo $_GET['email'] ?></td> 
</tr> 
<tr> 
<td><div align="right">职业:</div></td> 
<td><?php echo $_GET['job'] ?></td> 
</tr> 
</table> 
</body> 
</html> 
<?php 
} 
?>
PHP 相关文章推荐
PHP Google的translate API代码
Dec 10 PHP
PHP similar_text 字符串的相似性比较函数
May 26 PHP
php 归并排序 数组交集
May 10 PHP
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
Mar 07 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
May 15 PHP
ThinkPHP 3.2 数据分页代码分享
Oct 14 PHP
php根据某字段对多维数组进行排序的方法
Mar 07 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
PHP多个图片压缩成ZIP的方法
Aug 18 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 PHP
php连接mysql数据库代码
Mar 10 #PHP
php执行sql语句的写法
Mar 10 #PHP
php 结果集的分页实现代码
Mar 10 #PHP
php 动态添加记录
Mar 10 #PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 #PHP
php mssql 日期出现中文字符的解决方法
Mar 10 #PHP
linux php mysql数据库备份实现代码
Mar 10 #PHP
You might like
Smarty变量用法详解
2016/05/11 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
JS 控制非法字符的输入代码
2009/12/04 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
validator验证控件使用代码
2010/11/23 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
Bootstrap中的Panel和Table全面解析
2016/06/13 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
input框中的name和id的区别
2016/11/16 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
使用yeoman构建angular应用的方法
2017/08/14 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
2020/05/23 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
C面试题
2015/10/08 面试题
关于VPN
2012/06/10 面试题
环保专业大学生职业规划设计
2014/01/10 职场文书
接受捐赠答谢词
2014/01/27 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
酒店优秀员工事迹材料
2014/06/02 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
工作态度不端正检讨书
2014/10/04 职场文书