12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- namespace KIF;
- /**
- * 封装了一些验证数据的方法
- * @author gaoxiaogang@gmail.com
- *
- */
- class Verify {
- /**
- * 验证 $email 是否有效
- *
- * @param string $email
- * @return Boolean
- */
- static public function email($email) {
- return (boolean) filter_var($email, FILTER_VALIDATE_EMAIL);
- }
- /**
- * 验证是否是整数。
- * 1、支持正、负整数
- * 2、支持字数串表示法。如:'-200'、'125'。
- * 原由:php的is_int方法只能判断数值型变量,纯数字的字符串认为不是整数。但实际应用时,纯数字的字符串需要被当成整数来处理。
- * @param mixed $str
- * @return boolean
- */
- static function int($str) {
- if (!is_scalar($str)) return false;
- # 修正bug。否则当$str === true时,该函数返回true:问题出在preg_match函数。
- if (is_bool($str)) {
- return false;
- }
- return (boolean) preg_match('#^\-?\d+$#', $str);
- }
- /**
- * 验证是否是正整数。即大于0的整数
- *
- * @param mixed $str
- * @return boolean
- */
- static function unsignedInt($str) {
- return (self::int($str) && $str > 0);
- }
- /**
- * 验证是否自然数。即大于等于0的整数
- *
- * @param mixed $str
- * @return boolean
- */
- static function naturalNumber($str) {
- return (self::int($str) && $str >= 0);
- }
- /**
- * 验证是否有效的金额。即不超出2位的浮点数
- * @param float $money
- * @return boolean
- */
- static function money($money) {
- return (boolean) preg_match('#^\d+(\.\d{1,2})?$#', $money);
- }
- /**
- * 验证 $ip 是否有效的ipv4地址
- * FILTER_FLAG_IPV4 - 要求值是合法的 IPv4 IP(比如 255.255.255.255)
- * @param string $ip
- * @return boolean
- */
- static function ip($ip) {
- return (boolean) filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4);
- }
- /**
- * 验证 $ip 是否有效的 公网 ipv4地址
- * FILTER_FLAG_IPV4 - 要求值是合法的 IPv4 IP(比如 255.255.255.255)
- * FILTER_FLAG_NO_PRIV_RANGE - 要求值不是 RFC 指定的私域 IP (比如 192.168.0.90、10.0.0.90)
- * @param string $ip
- * @return boolean
- */
- static function publicIp($ip) {
- return (boolean) filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE);
- }
- /**
- * 验证手机号是否合法
- * @param string $mobile
- * @return boolean
- */
- static function mobile($mobile){
- if(!preg_match('/^[1]{1}[3|5|8]{1}[0-9]{9}$/', $mobile)) {
- return false;
- }
- return $mobile;
- }
- }
|