diff --git a/Tests/verifyTest.php b/Tests/verifyTest.php new file mode 100644 index 0000000..9279826 --- /dev/null +++ b/Tests/verifyTest.php @@ -0,0 +1,96 @@ +is_datetimeSQL ("2017-04-13 22:55:17"); + $this->assertSame ($res, true); + } + + public function test_is_datetimeSQL2 () + { + $verify = new \verify (); + $res = $verify->is_datetimeSQL ("2017-13-55 22:55:17"); + $this->assertSame ($res, false); + } + + public function test_staticIs_datetimeSQL1 () + { + $res = \verify::staticIs_datetimeSQL ("2017-04-13 22:55:17"); + $this->assertSame ($res, true); + } + + public function test_staticIs_datetimeSQL2 () + { + $res = \verify::staticIs_datetimeSQL ("2017-13-55 22:55:17"); + $this->assertSame ($res, false); + } + + ///////////////// + // NUMBERS // + ///////////////// + public function test_staticIs_integer1 () + { + $res = \verify::staticIs_integer ("2017-04-13 22:55:17"); + $this->assertSame ($res, false); + } + + public function test_staticIs_integer2 () + { + $res = \verify::staticIs_integer ("01234"); + $this->assertSame ($res, true); + } + + public function test_staticIs_integer3 () + { + $res = \verify::staticIs_integer ("0x1234"); + $this->assertSame ($res, false); + } + + public function test_staticIs_integer4 () + { + $res = \verify::staticIs_integer (""); + $this->assertSame ($res, false); + } + + //////////////// + // EMAILS // + //////////////// + + ///////////// + // URL // + ///////////// + public function test_is_url1 () + { + $verify = new \verify (); + $res = $verify->is_url ("invalid"); + $this->assertsame ($res, false); + } + + public function test_is_url2 () + { + $verify = new \verify (); + $res = $verify->is_url ("http://valid"); + $this->assertsame ($res, true); + } + + public function test_staticIs_url1 () + { + $res = \verify::staticIs_url ("invalid"); + $this->assertsame ($res, false); + } + + public function test_staticIs_url2 () + { + $res = \verify::staticIs_url ("http://valid"); + $this->assertsame ($res, true); + } +} diff --git a/verify.php b/verify.php index 8db912e..a711442 100644 --- a/verify.php +++ b/verify.php @@ -10,89 +10,149 @@ class verify // NETWORK // ///////////////// /** Check if $val is a valid IPv4 - Return TRUE or FALSE - @param string $val The IP to test */ + * Return true or false + * @param string $val The IP to test + */ public function is_ip ($val) + { + return $this->staticIs_ip ($val); + } + + /** Check if $val is a valid IPv4 in static mode + * Return true or false + * @param string $val The IP to test + */ + public function staticIs_ip ($val) { if (filter_var ($val, FILTER_VALIDATE_IP)) - return TRUE; - return FALSE; + return true; + return false; } /** Check if $val is a valid IPv4 - Return TRUE or FALSE - @param string $val The IPv4 to test */ + * Return true or false + * @param string $val The IPv4 to test + */ public function is_ipv4 ($val) + { + return $this->staticIs_ipv4 ($val); + } + + /** Check if $val is a valid IPv4 in static mode + * Return true or false + * @param string $val The IPv4 to test + */ + public function staticIs_ipv4 ($val) { if (filter_var ($val, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) - return TRUE; - return FALSE; + return true; + return false; } /** Check if $val is a valid IPv6 - Return TRUE or FALSE - @param string $val The IPv to test */ + * Return true or false + * @param string $val The IPv6 to test + */ public function is_ipv6 ($val) + { + return $this->staticIs_ipv6 ($val); + } + + /** Check if $val is a valid IPv6 in static mode + * Return true or false + * @param string $val The IPv6 to test + */ + public static function staticIs_ipv6 ($val) { if (filter_var ($val, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) - return TRUE; - return FALSE; + return true; + return false; } /** Check if $val is a valid hostname (without domain) - Return TRUE or FALSE - @param string $val The hostname to check */ + * Return true or false + * @param string $val The hostname to check + */ public function is_hostname ($val) + { + return $this->staticIs_hostname ($val); + } + + /** Check if $val is a valid hostname (without domain) + * Return true or false + * @param string $val The hostname to check + */ + public static function staticIs_hostname ($val) { if (strlen ($val) < 2 || strlen ($val) > 128) - return FALSE; + return false; if (strspn ($val, "abcdefghijklmnopqrstuvwxyz". "ABCDEFGHIJKLMNOPQRSTUVWXYZ". "0123456789-.") !== strlen ($val)) - return FALSE; + return false; // No end dot ? if (substr ($val, -1) === ".") - return FALSE; - return TRUE; + return false; + return true; } /** Check if $val is a valid domain (without hostname) - Return TRUE or FALSE - @param string $val The domain to check */ + * Return true or false + * @param string $val The domain to check + */ public function is_domain ($val) + { + return $this->staticIs_domain ($val); + } + + /** Check if $val is a valid domain (without hostname) in static mode + * Return true or false + * @param string $val The domain to check + */ + public static function staticIs_domain ($val) { if (strlen ($val) < 2 || strlen ($val) > 128) - return FALSE; + return false; if (strspn ($val, "abcdefghijklmnopqrstuvwxyz". "ABCDEFGHIJKLMNOPQRSTUVWXYZ". "0123456789-.") !== strlen ($val)) - return FALSE; + return false; // No end dot ? if (substr ($val, -1) === ".") - return FALSE; - return TRUE; + return false; + return true; } /** Check if $val is a valid FQDN - Return TRUE or FALSE - @param string $val The FQDN to check */ + * Return true or false + * @param string $val The FQDN to check + */ public function is_FQDN ($val) + { + return $this->staticIs_FQDN ($val); + } + + /** Check if $val is a valid FQDN in static mode + * Return true or false + * @param string $val The FQDN to check + */ + public static function staticIs_FQDN ($val) { if (strlen ($val) < 2 || strlen ($val) > 255) - return FALSE; + return false; if ($this->is_ip ($val)) - return FALSE; + return false; if (strspn ($val, "abcdefghijklmnopqrstuvwxyz". "ABCDEFGHIJKLMNOPQRSTUVWXYZ". "0123456789-.") !== strlen ($val)) - return FALSE; + return false; // No end dot ? if (substr ($val, -1) === ".") - return FALSE; - return TRUE; + return false; + return true; } /////////////// @@ -100,45 +160,98 @@ class verify /////////////// /** Check if $val is a valid date A valid date is 2014-03-20 12:27:34 - Return TRUE or FALSE + Return true or false @param string $val The date to check */ public function is_datetimeSQL ($val) + { + return $this->staticIs_datetimeSQL ($val); + } + + /** Check if $val is a valid date in static mode + A valid date is 2014-03-20 12:27:34 + Return true or false + @param string $val The date to check */ + public static function staticIs_datetimeSQL ($val) { if (strlen ($val) !== 19) - return FALSE; + return false; $arr = date_parse ($val); if ($arr["warning_count"] !==0) - return FALSE; + return false; if ($arr["error_count"] !==0) - return FALSE; + return false; if (isset ($arr["tz_abbr"])) - return FALSE; + return false; if (strspn ($val, "0123456789 :-") !== strlen ($val)) - return FALSE; - return TRUE; + return false; + if (\DateTime::createFromFormat("Y-m-d H:i:s", $val) === false) + return false; + return true; } ///////////////// // NUMBERS // ///////////////// - /** Return TRUE if the provided value is an integer in decimal (not octal) - @param string $val The Integer val to check */ + /** Return true if the provided value is an integer in decimal (not octal) + * @param string $val The Integer val to check + */ public function is_integer ($val) { + return $this->staticIs_integer ($val); + } + + /** Return true if the provided value is an integer in decimal (not octal) + * In static mode + * @param string $val The Integer val to check + */ + public static function staticIs_integer ($val) + { + if (! is_string ($val) || trim ($val) === "") + return false; if (strspn ($val, "0123456789") !== strlen ($val)) - return FALSE; - return TRUE; + return false; + return true; } //////////////// // EMAILS // //////////////// - /** Return TRUE if the provided value is a valid email address + /** Return true if the provided value is a valid email address * @param string $val The value to check * @return boolean */ public function is_email ($val) + { + return $this->staticIs_email ($val); + } + + /** Return true if the provided value is a valid email address in static mode + * @param string $val The value to check + * @return boolean + */ + public static function staticIs_email ($val) { return !! filter_var ($val, FILTER_VALIDATE_EMAIL); } + + ///////////// + // URL // + ///////////// + /** Return true if the provided value is a valid URL + * @param string $val The value to check + * @return boolean + */ + public function is_URL ($val) + { + return $this->staticIs_URL ($val); + } + + /** Return true if the provided value is a valid URL in static mode + * @param string $val The value to check + * @return boolean + */ + public static function staticIs_URL ($val) + { + return !! filter_var ($val, FILTER_VALIDATE_URL); + } }