<?php
/*******************************************************************
 * 版权协议：2009-2019
 * 版权所有: PHP-北京金南曦网络技术有限公司旗下PHPWMS，PHP商城系统技术支持中心http://www.php188.net，并保留所有权利。 
* PHP商城系统网址: http://www.php188.com
 * PHPWMS系统网址：http://www.phpwms.com
 * 销售电话：010-87875088
 * 销售电话：010-87875188 
*------------------------------------------------------------------
 * 这不是一个完全免费软件！您只能在不用于商业目的的前提下对程序代码进
 * 行修改和使用；不允许对程序代码以任何形式任何目的的再发布。
 *------------------------------------------------------------------
 * 文件名称：cls.data_check.php
 * 摘    要：数据合法性检测类
 * 适用范围：PHPWMS 1.0
 * 版    本：1.0
 *------------------------------------------------------------------
 * Script Written By phpwms项目组
 * 最后更新： 2009-09-24 phpwms 由PHP金南曦网络技术有限公司整理发布
 *******************************************************************/

	!defined('IN_SYS') and die('Hacking attempt');

	class DataCheck	{

		public function chkMoney($money) { 
			$flag = true;
			!ereg("^[0-9][.][0-9]$",$money) and $flag = false; 
			return $flag; 
		} 

		public function chkEmail($email) { 
			$flag = true;
			!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$",$email) and $flag = false;
			return $flag;
		} 

		public function chkUrl($url) {
			$flag = true;
			!ereg("^http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $url) and $flag = false;
			return $flag; 
		} 

		public function chkEmpty($string) {
			
			if (!is_string($string)) return false;
			if (empty($string)) return false;
			if ($string == '') return false;
			return true; 
		} 

		public function chkLength($string,$len_1,$len_2 = 100) { 
			$string  = trim($string);
			$str_len = strlen($string);
			if ($str_len < $len_1) return false; 
			if ($str_len > $len_2) return false; 
			return true; 
		} 

		public function chkUserName($string,$len_1,$len_2) { 
			if (!$this -> chkLength($string,$len_1,$len_2)) return false;
			//if (!ereg("^[_a-zA-Z0-9]*$", $string)) return false;
			//中文
			if (!preg_match("/^[".chr(0xa1)."-".chr(0xff)."_\-a-zA-Z0-9"."]*$/",$string)) return false;
			return true; 
		} 

		public function chkUserPwd($string,$len_1,$len_2) { 
			if (!$this -> chkLength($string,$len_1,$len_2)) return false;
			//if (!ereg("^[_a-zA-Z0-9]*$",$string)) return false;
			return true; 
		} 

		public function chkTelephone($string) { 
			$flag = true;
			!ereg("^[+]?[0-9]+([xX-][0-9]+)*$",$flag) and $flag = false; 
			return $flag; 
		}

		public function chkMobile($mobile) { 
			$flag = true;
			!preg_match("/^[0-9a-zA-Z]{10,12}$/",$mobile) and $flag = false; 
			return $flag; 
		}

		public function chkZipCode($num) { 
			$flag = true;
			$num  = trim($num); 
			if (strlen($num) == 6) {
				!is_numeric($num) and $flag = false;
			} else {
				$flag = false;
			}
		} 

		//检测扩展名: 0 - 没有文件,-1 - 扩展名符合要求,1 - 扩展名正确
		function chkExtendName($file_name,$extend = array()) { 
			if(strlen(trim($file_name)) < 5) {
				return 0;
			}
			$last_dot = strrpos($file_name,".");
			$extend_name = substr($file_name,$last_dot+1);

			for($i=0;$i<count($extend);$i++) { 
				if (trim(strtolower($extend_name)) == trim(strtolower($extend[$i]))) { 
					$flag = 1;
					break;
				}
			}
			$flag != 1 and $flag = -1;
			return $flag;
		} 


		function chkFileSize($file_name,$limit_size) { 
			$size = GetImageSize($file_name); 
			if ($size[0] > $file_name[0] || $size[1] > $limit_size[1]) { 
				return false; 
			} 
			return true; 
		}
		
		// 检查数据是否为日期格式
		public function isDate($data) {
			$re = "#^\d{4}([/-])([0][0-9]|[1][0-2])\\1([0-2][0-9]|[3][0-1])$#";
			return $this -> match($data,$re);
		}

		public function match($data,$re) {
			return preg_match($re,$data);
		}
}
?>