php 验证类的代码,如下:
/**
* 基于服务器端的输入验证
* 包括 Email、数字、日期等的验证
* 编辑整理:脚本学堂 www.jbxue.com
*/
class Validation
{
//检测电子邮件格式是否正确,返回true或false
function is_email($email)
{
if(!preg_match("/^[A-Za-z0-9\._\-+]+@[A-Za-z0-9_\-+]+(\.[A-Za-z0-9_\-+]+)+$/",$email))
return false;
return true;
}
// End of is_email Function
//检查给定的数字符号/无符号数
//返回true或false。
function is_number($number)
{
if(!preg_match("/^\-?\+?[0-9e1-9]+$/",$number))
return false;
return true;
}
// End of is_number Function
//检查否无符号数字
//返回true或false
function is_unsign_number($number)
{
if(!preg_match("/^\+?[0-9]+$/",$number))
return false;
return true;
}
// End of is_unsign_number Function
//检查给定的字符串是否数字、字母等的组合
//返回true或false
function is_alpha_numeric($str)
{
if(!preg_match("/^[A-Za-z0-9 ]+$/",$str))
return false;
return true;
}
// End of is_alpha_numeric Function
//这个函数检查给定的日期是有效或无效。
//返回true或false。
function is_date($d)
{
if(!preg_match("/^(\d){1,2}[-\/](\d){1,2}[-\/]\d{4}$/",$d,$matches))
return -1;//Bad Date Format
$T = split("[-/\\]",$d);
$MON=array(0,31,28,31,30,31,30,31,31,30,31,30,31);
$M = $T[0];
$D = $T[1];
$Y = $T[2];
return $D>0 && ($D<=$MON[$M] || $D==29 && $Y%4==0 && ($Y%100!=0 || $Y%400==0));
}
//End of is_data function
}
?>
2,php 验证类的调用示例:
require("validations.inc.php");
$val=new Validation;
if($val->is_email($_POST['email']))
echo "Email is Valid!";
else
echo "Not a valid email";
echo "
";
if($val->is_number($_POST['number']))
echo "number is Valid!";
else
echo "Not a valid number";
echo "
";
if($val->is_alpha_numeric($_POST['String']))
echo "String is Valid!";
else
echo "Not a valid String";
echo "
";
if($val->is_date($_POST['date'])>0)
echo "date is Valid!";
else
echo "Not a valid date";
echo "
";
?>
Enter Email : | |
Enter Number : | |
Enter Date : | (mm-dd-yyyy) |
Enter String : | |
Press Submit : |