1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
/* --------------------------------------------------------------------
* 入力データのチェック・ライブラリ
* 【copyright CXMedia allright reserved.】
* 2011.12.02 作成 yoshi of CXMedia Inc.
* 2015.09.27 追加 日付形式のチェックを追加
* -------------------------------------------------------------------- */
/* ----------------------------------------
* URLの正規表現チェック
* 返り値:TRUE/FALSE
* [ 参照先;http://www.ideaxidea.com/archives/2009/03/practical_php_regexs.html ]
* -------------------------------------- */
function is_url($url){
if(preg_match('/^(https?|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i',$url)){
return TRUE;
} else {
return FALSE;
}
}
/* -----------------------------------------------------
* メールアドレスの正規表現チェック
* 返り値:TRUE/FALSE
* [ 参照先;http://phpspot.net/ ]
* -------------------------------------- */
function is_mail($text){
if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$text)){
return TRUE;
} else {
return FALSE;
}
}
/* -------------------------------------------
* 郵便番号の正規表現チェック
* 返り値:TRUE/FALSE
* ------------------------------------------- */
function is_zipcode($zipcode){
if (preg_match("/^\d{3}-\d{4}$/",$zipcode)) {
return TRUE;
} else {
return FALSE;
}
}
/* ----------------------------------------------------------------------------
* 電話番号の正規表現チェック:固定電話、携帯電話、フリーダイヤル、国際電話
* 返り値:TRUE/FALSE
* ---------------------------------------------------------------------------- */
function is_phone($text){
$reg_phone_ptn = '/^(\+\d{3}-)?(\d{1,5})-(\d{1,4})-(\d{3,5})$/';
if(preg_match_all($reg_phone_ptn,$text,$data,PREG_SET_ORDER)){
// var_export($data);
// 局番の桁数チェック
if((strlen($data[0][2]) + strlen($data[0][3])) <= 7){
return TRUE;
}else {
return FALSE;
}
} else {
return FALSE;
}
}
/* ----------------------------------------------
* 日付形式の正規表現チェック
* 引数:入力データ、セパレータ(省略時:'-')
* 返り値:年月日/FALSE
* ---------------------------------------------- */
function is_date($str,$sep = '-'){
// 日付形式の正規表現パターン
$reg_ptn = '/^([0-9]{2,4})'.$sep.'([0-9]{1,2})'.$sep.'([0-9]{1,2})$/';
if(!preg_match($reg_ptn,$str,$match)){return FALSE;}
return checkdate( (int)$match[2],(int)$match[3],(int)$match[1] );
}
?>