php常用表单验证类用法实例


Posted in PHP onJune 18, 2015

本文实例讲述了php常用表单验证类用法。分享给大家供大家参考。具体如下:

<?php
/**
* 页面作用:常用表单验证类
* 作 者:欣然随风
* QQ:276624915
*/
class class_post
{
//验证是否为指定长度的字母/数字组合
function fun_text1($num1,$num2,$str)
{
   Return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false;
}
//验证是否为指定长度数字
function fun_text2($num1,$num2,$str)
{
   return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false;
}
//验证是否为指定长度汉字
function fun_font($num1,$num2,$str)
{
// preg_match("/^[\xa0-\xff]{1,4}$/", $string);
 
  return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false;
}
//验证身份证号码
function fun_status($str)
{
   return (preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/',$str))?true:false;
}
//验证邮件地址
function fun_email($str){
   return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/',$str))?true:false;
}
//验证电话号码
function fun_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;
}
//验证邮编
function fun_zip($str)
{
  return (preg_match("/^[1-9]\d{5}$/",$str))?true:false;
}
//验证url地址
function fun_url($str)
{
  return (preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/",$str))?true:false;
}
// 数据入库 转义 特殊字符 传入值可为字符串 或 一维数组
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;
}
// 数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组
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;
}
}
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
IIS+PHP+MySQL+Zend配置 (视频教程)
Dec 13 PHP
DedeCms模板安装/制作概述
Mar 11 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
php导入导出excel实例
Oct 25 PHP
PHP实现添加购物车功能
Mar 06 PHP
PHP计算近1年的所有月份
Mar 13 PHP
PHP写的简单数字验证码实例
May 23 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
PHP实现的curl批量请求操作示例
Jun 06 PHP
php文件压缩之PHPZip类用法实例
Jun 18 #PHP
浅谈php中include文件变量作用域
Jun 18 #PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 #PHP
php实现只保留mysql中最新1000条记录
Jun 18 #PHP
php使用COPY函数更新配置文件的方法
Jun 18 #PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 #PHP
php实现mysql数据库分表分段备份
Jun 18 #PHP
You might like
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
python使用KNN算法手写体识别
2018/02/01 Python
Python中os模块功能与用法详解
2020/02/26 Python
英国第一的市场和亚马逊替代品:OnBuy
2019/03/16 全球购物
法国房车租赁网站:Yescapa
2019/08/26 全球购物
入党自我鉴定范文
2013/10/04 职场文书
财务会计毕业生自荐信
2013/11/02 职场文书
高中历史教学反思
2014/02/08 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
会计系毕业求职信
2014/08/07 职场文书
社团个人总结范文
2015/03/05 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server