<?php
final class Validate {
	/**
	 * 时间日期（所有 GNU Date Input Formats，例如 yyyy/mm/dd、yyyy-mm-dd、hh:mm:ss）
	 */
	function isDateTime($value) {
		return preg_match('/^[yY]-[mn]-[dj]$/is', $value) != 0;
	}

	/**
	 * 分页号
	 */
	function isPage($page) {
		return !empty($page) && preg_match('/^([0-9]+)$/', $page);
	}

	function isUrl($url) {
		return preg_match('/(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?/', $url);
	}

	/**
	 * 域名
	 */
	function isDOMAIN($value) {
		return preg_match('/[a-z0-9\.]/is', $value) != 0;
	}

	/**
	 * 颜色
	 */
	function isColorCode($value) {
		return preg_match('/^#[0-9a-f]{6}/i', $value) != 0;
	}

	/**
	 * 整数
	 */
	function isINT($value) {
		return strlen(intval($value)) == strlen($value) && is_numeric($value);
	}

	/**
	 * 检查电子邮件
	 *
	 * @param String $email 电子邮件地址
	 */
	function checkEmail($email) {
		return preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$/i', $email);
	}

	/**
	 * 检查QQ是否合法
	 */
	function checkQQ($qq) {
		return preg_match('/^[1-9][0-9]{4,12}$/i', $qq);
	}

	/**
	 * 检查MSN是否合法
	 */
	function checkMSN($msn) {
		return preg_match('/^[_\.0-9a-zA-Z-]+@[\w\.]*?$/i', $msn);
	}
}
