代码拉取完成,页面将自动刷新
同步操作将从 birch/PHP_class 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
/**
* 常用表单验证类
*/
class FormValidate
{
/** 验证是否为指定长度的字母大小写/数字组合
* @param $num1 字符串的最小长度
* @param $num2 字符串的最大长度
* @param $str 待验证的字符串
* @return bool 返回逻辑值
*/
function Is_WordNumeric($num1,$num2,$str)
{
Return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false;
}
/** 用户账号验证 字母开头 允许大小写字母和数字、下划线,5 到16字节长度
* @param $str 待验证用户名
* @return bool 返回逻辑值
*/
function Is_UserCount($str){
Return (preg_match("/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/",$str))?true:false;
}
/** 密码验证 允许长度6 到16位 包含字符\~!@#$%^&*()-_+=|{}[]\:;'"
* @param $str 待验证密码
* @param $minLen 限制最小长度 默认6
* @param $maxLen 限制最大长度16
* @return bool 返回逻辑值
*/
function Is_PassWord($str,$minLen =5 ,$maxLen=16)
{
Return (preg_match("/^[\\~!@#$%^&*()-_=+|{}\[\],.?\/:;\'\"\d\w]{".$minLen.",".$maxLen."}$/",$str))?true:false;
}
/** 验证是否为指定长度数字
* @param $num1 指定数字最小位数长度
* @param $num2 指定数字最大位数长度
* @param $str 待验证数字
* @return bool 返回逻辑值
*/
function Is_Numeric($num1,$num2,$str)
{
return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false;
}
/** 验证是否为指定长度汉字
* @param $num1 指定最小长度
* @param $num2 指定最大长度
* @param $str 待验证字符串
* @return bool 返回逻辑值
*/
function Is_Hanzi($num1,$num2,$str)
{
// preg_match("/^[\xa0-\xff]{1,4}$/", $string);
return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false;
}
/** 验证身份证号码
* @param $id 待验证身份证号码
* @return bool 返回逻辑值
*/
function Is_idcard( $id )
{
$id = strtoupper($id);
$regx = "/(^\d{15}$)|(^\d{17}([0-9]|X)$)/";
$arr_split = array();
if(!preg_match($regx, $id))
{
return FALSE;
}
if(15==strlen($id)) //检查15位
{
$regx = "/^(\d{6})+(\d{2})+(\d{2})+(\d{2})+(\d{3})$/";
@preg_match($regx, $id, $arr_split);
//检查生日日期是否正确
$dtm_birth = "19".$arr_split[2] . '/' . $arr_split[3]. '/' .$arr_split[4];
if(!strtotime($dtm_birth))
{
return FALSE;
} else {
return TRUE;
}
}
else //检查18位
{
$regx = "/^(\d{6})+(\d{4})+(\d{2})+(\d{2})+(\d{3})([0-9]|X)$/";
@preg_match($regx, $id, $arr_split);
$dtm_birth = $arr_split[2] . '/' . $arr_split[3]. '/' .$arr_split[4];
if(!strtotime($dtm_birth)) //检查生日日期是否正确
{
return FALSE;
}
else
{
//检验18位身份证的校验码是否正确。
//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
$arr_int = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
$arr_ch = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$sign = 0;
for ( $i = 0; $i < 17; $i++ )
{
$b = (int) $id{$i};
$w = $arr_int[$i];
$sign += $b * $w;
}
$n = $sign % 11;
$val_num = $arr_ch[$n];
if ($val_num != substr($id,17, 1))
{
return FALSE;
} //phpfensi.com
else
{
return TRUE;
}
}
}
}
/** 验证邮件地址
* @param $str 待验证邮件地址
* @return bool 返回逻辑值
*/
function Is_email($str){
return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/',$str))?true:false;
}
/** 验证固定电话号码 0XXX-XXXXXX
* @param $str
* @return bool
*/
function Is_phone($str)
{
return (preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/",$str))?true:false;
}
/** 验证邮编
* @param $str 待验证邮政编码
* @return bool 返回逻辑值
*/
function Is_zip($str)
{
return (preg_match("/^[1-9]\d{5}$/",$str))?true:false;
}
/** 验证url地址
* @param $str 待验证网址
* @return bool 返回逻辑值
*/
function Is_url($str)
{
return (preg_match("/^^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/",$str))?true:false;
}
/** 数据入库 转义 特殊字符 传入值可为字符串 或 一维数组
* @param $data 待转义的字符串
* @return array|string 返回转义后的字符串
*/
function data_join(&$data)
{
if(get_magic_quotes_gpc() == false)
{
if (is_array($data))
{
foreach ($data as $k => $v)
{
$data[$k] = addslashes($v);
}
}
else
{
$data = addslashes($data);
}
}
Return $data;
}
/** 数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组
* @param $data 数据库读出哦字符串
* @return array|string 还原为正常的字符串
*/
function data_revert(&$data)
{
if (is_array($data))
{
foreach ($data as $k1 => $v1)
{
if (is_array($v1))
{
foreach ($v1 as $k2 => $v2)
{
$data[$k1][$k2] = stripslashes($v2);
}
}
else
{
$data[$k1] = stripslashes($v1);
}
}
}
else
{
$data = stripslashes($data);
}
Return $data;
}
// 数据显示 还原 数据格式 主要用于内容输出 传入值可为字符串 或 一/二维数组
// 执行此方法前应先data_revert(),表单内容无须此还原
function data_show(&$data)
{
if (is_array($data))
{
foreach ($data as $k1 => $v1)
{
if (is_array($v1))
{
foreach ($v1 as $k2 => $v2)
{
$data[$k1][$k2]=nl2br(htmlspecialchars($data[$k1][$k2]));
$data[$k1][$k2]=str_replace(" "," ",$data[$k1][$k2]);
$data[$k1][$k2]=str_replace("\n","<br>\n",$data[$k1][$k2]);
}
}
else
{
$data[$k1]=nl2br(htmlspecialchars($data[$k1]));
$data[$k1]=str_replace(" "," ",$data[$k1]);
$data[$k1]=str_replace("\n","<br>\n",$data[$k1]);
}
}
}
else
{
$data=nl2br(htmlspecialchars($data));
$data=str_replace(" "," ",$data);
$data=str_replace("\n","<br>\n",$data);
}
Return $data;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。