php 表单验证实现代码

代码如下:

<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
}
?>

(0)

相关推荐

  • php 表单数据的获取代码

    复制代码 代码如下: <html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <form action="post.php" method="get" name

  • JQuery打造PHP的AJAX表单提交实例

    如果你对JQuery的基本语法还不是很熟悉,请搜索本站的教程资源.如果你对PHPMailer用法不熟悉,请查看本站的另一篇文章<使用PHPMailer类库发送电子邮件>. 第一步,创建一个表单HTML页面 这里,我们只展示主要的表单部分HTML结构代码: 复制代码 代码如下: <div id="contact_form"> <form name="contact" method="post" action="

  • 用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据

    当 HTML 表单 (HTML Form) 的 method 为 get 时,$_GET 用来获取 HTML Form 的数据. 当 HTML 表单 (HTML Form) 的 method 为 post 时 , $_POST 用来获取 HTML Form 的数据. HTML Form 的get 和post 的区别,请参见HTML Form 的get 和post 的区别. 获取 HTML 表单 (HTML Form) 文本输入框 (input type="text") 数据 下面是一个

  • php中一个完整表单处理实现代码

    一个完整表单处理 下面我们将创建一个复杂的表单,代码如下所示. 复制代码 代码如下: <form action="someform.php" method="post"> <table width="541" border="0"> <tr> <td width="26%">姓名:</td> <td width="74%"

  • PHP 表单提交给自己

    在大部分情况下我们指定另外一个来处理表单内容的URL地址给Action属性,但也有部分情况是需要将表单数据提交给自己的.这时候我们应该如何指定Action属性值呢?<?php if (isset($_POST['action']) && $_POST['action'] == 'submitted') {     print '<pre>'; print_r($_POST);     print '<a href="'. $_SERVER['PHP_SEL

  • PHP form 表单传参明细研究

    为什么呢?因为表单的处理有GET和POST两种,怎么在这两种表单中都要传递一直do参数,而且要在后台通过同样的方式获取就一直是个很困惑的问题,今天经过几个小时的实验终于搞懂了,特发此文. GET表单: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

  • php使用curl实现简单模拟提交表单功能

    php 使用curl 进行简单模拟提交表单,供大家参考,具体内容如下 //初始化curl $ch = curl_init(); $url = 'xxx'; $option = [ CURLOPT_URL => $url, CURLOPT_HEADER => 1, CURLOPT_RETURNTRANSFER => 1, ]; curl_setopt_array($ch, $option); $output = curl_exec($ch); preg_match_all('/Set-Co

  • php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别

    应该这样用if(isset($_POST['submit'])) { } 提交表单时 if($_POST[submit])与 if(isset($_POST[submit])) 的区别 第一种方法会出现一个warning,第二种相对更严谨. 还有就是POST的键名最好加上单引号,这样效率稍微高点(大概3-4倍). 恩 差不多那个意思,如果设置了这个变量则返回true PHP中if(isset($_POST['Submit']))是什么意思 isset -- 检测变量是否设置 判断post过来的数

  • php自动提交表单的方法(基于fsockopen与curl)

    本文实例讲述了php基于fsockopen与curl实现自动提交表单的方法.分享给大家供大家参考,具体如下: fsockopen和curl都可以做php自动提交表单 1. fsockopen方法: php代码: <?php /*----------------------------------------------------------- *功能:使用PHP socke 向指定页面提交数据 *作者:果冻 说明:post($url, $data) * * $url = 'http://www

  • php表单转换textarea换行符的方法

    下面是我对这个问题的解决过程,最后算是完全搞懂了,真是阴沟里险些翻船 1.必须知道textarea中的换行符是 \n  (个人检测发现按回车键是\n,好像在linux下是\r\n) 2.用nl2br之前,请仔细看好手册解释,我就是搞郁闷了,一般都理解为将\n转换成<br >,其实不是的: 看php手册解释: nl2br –  Inserts HTML line breaks before all newlines in a string Returns string with '<br

随机推荐