Validate   A
last analyzed

Complexity

Total Complexity 14

Size/Duplication

Total Lines 96
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 4
Bugs 4 Features 1
Metric Value
wmc 14
c 4
b 4
f 1
lcom 0
cbo 0
dl 0
loc 96
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A isHalfWidth() 0 4 2
A isEmailAddr() 0 5 2
B isLeapYear() 0 14 6
A isBetween() 0 9 3
1
<?php
2
/**
3
 * Validate
4
 *
5
 * データ検証のためのファンクション群
6
 *
7
 * @package           risoluto
8
 * @author            Risoluto Developers
9
 * @license           http://opensource.org/licenses/bsd-license.php new BSD license
10
 * @copyright     (C) 2008-2015 Risoluto Developers / All Rights Reserved.
11
 */
12
13
//------------------------------------------------------//
14
// 名前空間の定義
15
//------------------------------------------------------//
16
namespace Risoluto;
17
18
class Validate
19
{
20
    //------------------------------------------------------//
21
    // クラスメソッド定義
22
    //------------------------------------------------------//
23
    /**
24
     * __construct()
25
     *
26
     * コンストラクタ
27
     */
28
    private function __construct()
29
    {
30
    }
31
32
    /**
33
     * isEmailAddr($value)
34
     *
35
     * 引数で指定された値がメールアドレスのフォーマットと合致しているか判定する
36
     *
37
     * @access    public
38
     *
39
     * @param     string $value 検査対象となる値
40
     *
41
     * @return    boolean    判定結果(true/false)
42
     */
43
    public static function isEmailAddr( $value )
44
    {
45
        return ( preg_match( '/^([a-z0-9_]|\-|\.|\+)[email protected](([a-z0-9_]|\-)+\.)+[a-z]{2,6}$/i',
46
            $value ) ) ? ( true ) : ( false );
47
    }
48
49
    /**
50
     * isHalfWidth($value)
51
     *
52
     * 引数で指定された値が半角文字列のみで構成されているか判定する
53
     *
54
     * @access    public
55
     *
56
     * @param     string $value 検査対象となる値
57
     *
58
     * @return    boolean    判定結果(true/false)
59
     */
60
    public static function isHalfWidth( $value )
61
    {
62
        return ( strlen( $value ) == mb_strlen( $value, 'UTF-8' ) ) ? ( true ) : ( false );
63
    }
64
65
    /**
66
     * isLeapYear($value)
67
     *
68
     * 引数で指定された値が閏年であるか判定する
69
     *
70
     * @access    public
71
     *
72
     * @param     string $value 検査対象となる値
73
     *
74
     * @return    boolean    判定結果(true/false)
75
     */
76
    public static function isLeapYear( $value )
77
    {
78
        // 引数が4桁の整数値でなければ無条件でfalseを返却する
79
        if (( strlen( $value ) != 4 ) or ( !is_numeric( $value ) )) {
80
            return false;
81
        }
82
83
        // 4で割り切れる年は閏年、100で割り切れる年は閏年じゃないが400で割り切れれば閏年
84
        if (( $value % 4 ) == 0 and ( $value % 100 ) != 0 or ( $value % 400 ) == 0) {
85
            return true;
86
        } else {
87
            return false;
88
        }
89
    }
90
91
    /**
92
     * isBetween($value, $lowerval, $upperval)
93
     *
94
     * 引数で指定された値が引数で指定された下限値及び上限値の範囲内にあるかを判定する
95
     *
96
     * @access    public
97
     *
98
     * @param     string $value 検査対象となる値
99
     * @param     string $lowerval 下限値
100
     * @param     string $upperval 上限値
101
     *
102
     * @return    boolean    判定結果(true/false)
103
     */
104
    public static function isBetween( $value, $lowerval, $upperval )
105
    {
106
        // 下限値から上限値の範囲内ならtrueを返却(下限値/上限値自体も範囲に含む)
107
        if (( $lowerval <= $value ) and ( $upperval >= $value )) {
108
            return true;
109
        } else {
110
            return false;
111
        }
112
    }
113
}