⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.php

📁 a short sketch about linux syntex lines.
💻 PHP
字号:
<?php
/*
数据验证类
重载interface.类
支持时间验证,数字,字符,邮件,电话
采用匿名内部调用传入验证项目必须为数组
*/
class Easy_Validate_Default implements Easy_Validate_Interface{
	public static  $error = array();		//返回错误数组
	public static function validate($data, $rule){
		self::$error = null;
		foreach ($rule as $key=>$val){
			$pattern = $val[0];	//判断规则
			$message = $val[1];
			$require = $val[2];	//是否必须
			$max = $val[4];
			$min = $val[3];
			if ($val || $require){
				if ($require && empty($val)){
					if (is_array($message)){
						self::$error[$key] = $message['empty'];
					}else{
						self::$error[$key] = $message;
					}
				}
				if (in_array(strtolower($pattern), array('int', 'float', 'url', 'email','boolean','ip', 'string'))){
					if (self::filter($data[$key], $pattern) === false){
						if (is_array($message)){
							self::$error[$key] = $message['default'];
						}else{
							self::$error[$key] = $message;
						}
					}
				}else{
					if ( !preg_match($pattern, $data[$key])){
						if (is_array($message)){
							self::$error[$key] = $message['default'];
						}else{
							self::$error[$key] = $message;
						}
					}
				}
				if ($require && is_null($data[$key])){
					if(is_array($message)){
						self::$error[$key] = $message['empty'];
					}else{
						self::$error[$key] = $message;
					}
				}
				if ($max && iconv_strlen($data[$key]) > $max){
					if(is_array($message)){
						self::$error[$key] = $message['max'];
					}else{
						self::$error[$key] = $message;
					}
				}elseif ($min && iconv_strlen($data[$key]) < $min){
					if(is_array($message)){
						self::$error[$key] = $message['min'];
					}else{
						self::$error[$key] = $message;
					}
				}
			}
		}
		if (count(self::$error)>0){
			return false;
		}else{
			return true;
		}
	}
	public static  function filter($str, $type){
			switch (strtolower($type)){
				case 'int':
					return is_numeric($str);
				break;
				case 'ip':
					if ( ip2long($str)===false || ip2long($str) === 0 ){
						return false;
					}else{
						return true;
					}
				break;
				case 'email':
					if ( preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i', $str)){
						return true;
					}else{
						return false;
					}
				break;
				case 'boolean':
					return is_bool($str);
				break;
				case 'url':
					if ( preg_match('/http:\/\/(.+?)/is', $str)){
						return true;
					}else{
						return false;
					}
				break;
				case 'float':
					return is_float($str);
				break;
				case 'string':
					return is_string($str);
				break;
			}
	}
	function __call($method, $paramas){
		if( FALSE === method_exists(new self(), $method)){
			exit($method.':call to undefined method Class Easy_Validate_Default');
		}else{
			self::$method($paramas);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -