Răsfoiți Sursa

Add more method and verify rules

Jinhui Zhu 5 ani în urmă
părinte
comite
89455290d9
2 a modificat fișierele cu 42 adăugiri și 1 ștergeri
  1. 15 1
      src/Library/LibUrl.php
  2. 27 0
      src/Library/Validate.php

+ 15 - 1
src/Library/LibUrl.php

@@ -19,5 +19,19 @@ namespace Qii\Library;
 use Curl\Curl;
 class LibUrl extends Curl
 {
-	
+    /**
+     * 设置超时时间, 解决毫秒问题
+     *
+     * @param $seconds
+     */
+	public function setTimeout($seconds)
+    {
+        if($seconds < 1)
+        {
+            $this->setOpt(CURLOPT_TIMEOUT_MS, intval($seconds * 1000));
+            $this->setOpt(CURLOPT_NOSIGNAL, 1);
+        }
+
+        $this->setOpt(CURLOPT_TIMEOUT, $seconds);
+    }
 }

+ 27 - 0
src/Library/Validate.php

@@ -56,6 +56,8 @@ class Validate
 		'email' => '邮箱',
 		'idcode' => '身份证',
 		'number' => '数字',
+		'float' => '浮点数',
+		'decimal' => '小数',
 		'http' => '网址',
 		'qq' => 'qq',
 		'postcode' => '邮编',
@@ -471,4 +473,29 @@ class Validate
 	{
 		return in_array($str, $sets);
 	}
+
+    /**
+     * 是否是浮点数
+     *
+     * @param float $str
+     * @return int
+     */
+	public function float($str)
+    {
+        return preg_match("/^(([1-9]\d*)|0)(\.\d{1,})?$/", $str);
+    }
+
+    /**
+     * 匹配小数
+     *
+     * @param decimal $str
+     * @param $decimal
+     * @return int
+     */
+    public function decimal($str, $decimal)
+    {
+        $decimalArr = explode(',', $decimal);
+
+        return preg_match("/^(([1-9]\d*)|0{1,". $decimalArr[0] ."})(\.\d{".$decimalArr[1]."})?$/", $str);
+    }
 }