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 "×";}
?>