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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?php
/* -------------------------------------------------------------------
* 正規表現のサンプルプログラム
* 数字、英字、文字の特殊、電話番号、メールアドレス、URLの形式チェック
*
* 作成: 2015.07.23 yoshi of CXMedia Inc.
* ------------------------------------------------------------------- */
/* ---------------------
* 数字
* --------------------- */
$moji = "ABCabc123";
echo "<b>$moji</b>を数字チェック";
echo "<br>0~9までの数字があるかをチェック→";
if (preg_match("/[0-9]/",$moji)){echo "○";}else{echo "×";}
echo "<br>5桁の4から9までの数字だけの文字が含まれているかどうかチェック→";
if (preg_match("/[4-9]{5}/",$moji)){echo "○";}else{echo "×";}
echo "<br>2~4桁の1から5までの数字だけの文字が含まれているかどうかチェック→";
if (preg_match("/[1-5]{2,4}/",$moji)){echo "○";}else{echo "×";}
echo "<br>8桁以上の4から7までの数字だけの文字が含まれているかどうかチェック→";
if (preg_match("/[4-7]{8,}/",$moji)){echo "○";}else{echo "×";}
echo "<br>1桁以上の4から7までの数字だけの文字が含まれているかどうかチェック→";
if (preg_match("/[4-7]+/",$moji)){echo "○";}else{echo "×";}
echo "<br>0以上の4から7までの数字だけの文字が含まれているかどうかチェック→";
if (preg_match("/[4-7]*/",$moji)){echo "○";}else{echo "×";}
echo "<br><br>";
/* ---------------------
* 英字
* --------------------- */
echo "<b>$moji</b>を英字チェック";
echo "<br>AからZまでの英字があるかないかをチェック→";
if (preg_match("/[A-Z]*/",$moji)){echo "○";}else{echo "×";}
echo "<br>aからzまでの英字があるかないかをチェック→";
if (preg_match("/[a-z]*/",$moji)){echo "○";}else{echo "×";}
echo "<br>aからzまたはAからZまでの英字があるかないかをチェック→";
if (preg_match("/[a-zA-Z]*/",$moji)){echo "○";}else{echo "×";}
echo "<br>8桁以上のの英字だけの文字が含まれているかどうかチェック→";
if (preg_match("/[a-zA-Z]{8,}/",$moji)){echo "○";}else{echo "×";}
echo "<br>Pが1文字以上含まれているかどうかチェック→";
if (preg_match("/P+/",$moji)){echo "○";}else{echo "×";}
echo "<br><br>";
/* -------------------------
* 文字の否定、先頭、文末
* -------------------------- */
echo "<b>$moji</b>を文字否定、文字先頭、文字文末チェック";
echo "<br>Aではない文字がある場合チェック→";
if (preg_match("/[^A]/",$moji)){echo "○";}else{echo "×";}
echo "<br>数字以外が1文字以上含まれている場合をチェック→";
if (preg_match("/[^0-9]+/",$moji)){echo "○";}else{echo "×";}
echo "<br>AAAではじまっているかチェック→";
if (preg_match("/^AAA/",$moji)){echo "○";}else{echo "×";}
echo "<br>BBで終わっているかチェック→";
if (preg_match("/BB$/",$moji)){echo "○";}else{echo "×";}
echo "<br><br>";
/* ---------------------
* 電話番号
* --------------------- */
$tel = "03-1234-5678";
$check1 = "/^[0-9-]*$/";
$check2 = "/^[0-9]{3}-[0-9]{4}-[0-9]{4}$/";
$check3 = "/^[0-9]{2,4}-[0-9]{2,4}-[0-9]{4}$/";
$check4 = "/^\d{2,4}-\d{2,4}-\d{4}$/";
echo "<b>電話番号:$tel</b>";
echo "<br>$check1 →";
if (preg_match($check1,$tel)){echo "○";}else{echo "×";}
echo "<br>$check2 →";
if (preg_match($check2,$tel)){echo "○";}else{echo "×";}
echo "<br>$check3 →";
if (preg_match($check3,$tel)){echo "○";}else{echo "×";}
echo "<br>$check4 →";
if (preg_match($check4,$tel)){echo "○";}else{echo "×";}
echo "<br><br>";
/* ---------------------
* メールアドレス
* --------------------- */
$email = "aaa@bbb.ccc";
echo "<b>メールアドレス:$email</b>";
$check1 = "/^[^@]+@([-a-z0-9]+\.)+[a-z]{2,}$/";
$check2 = "/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/";
$check3 = "/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+\.[A-Za-z0-9_\.\-]+$/";
echo "<br>$check1 →";
if (preg_match($check1,$email)){echo "○";}else{echo "×";}
echo "<br>$check2 →";
if (preg_match($check2,$email)){echo "○";}else{echo "×";}
echo "<br>$check3 →";
if (preg_match($check3,$email)){echo "○";}else{echo "×";}
echo "<br><br>";
/* ---------------------
* URL
* --------------------- */
$url = "http://aaa.bbb.ccc";
echo "<b>URL:$url</b>";
$check = "{(https?|ftp|news)(://[[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)}";
echo "<br>$check →";
if (preg_match($check,$url)){echo "○";}else{echo "×";}
?>