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&amp;&amp;mysql)二
Oct 09 PHP
PHP时间格式控制符对照表分享
Jul 23 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
PHP网络操作函数汇总
May 18 PHP
Smarty使用自定义资源的方法
Aug 08 PHP
php常用图片处理类
Mar 16 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
php使用PDO执行SQL语句的方法分析
Feb 16 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
PHP策略模式写法
Apr 01 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
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
jQuery对象和DOM对象相互转化
2009/04/24 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
angularjs指令之绑定策略(@、=、&amp;)
2017/04/13 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
Python常用的爬虫技巧总结
2016/03/28 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
2014年端午节活动方案
2014/03/11 职场文书
美容院经理岗位职责
2014/04/03 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
2015双创工作总结
2015/07/24 职场文书
学生会工作感言
2015/08/07 职场文书
电工生产实习心得体会
2016/01/22 职场文书
Python 数据可视化之Seaborn详解
2021/11/02 Python
python自动化测试通过日志3分钟定位bug
2021/11/20 Python
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS