概要
閲覧数:1482
投稿日:2015-12-11
更新日:2015-12-12
郵便番号だけを許可
・XXX-YYYYあるいはXXXYYYY
・半角数字だけを許可
mixed preg_match($pattern,$string)
・Perl互換正規表現関数の一つ
・文字列$patternで指定したPerl互換正規表現により、文字列$stringを検索する
・具体的には、第2引数の文字列へ対して、第1引数で指定した正規表現のパターンを実行
コード
$postalCode = '1000000'; //true
$clean = array();
if ($postalCode && preg_match("/^[0-9]{3}-?[0-9]{4}$/", $postalCode)) {
$clean["postalCode"] = $postalCode;
}
var_dump($clean);
$postalCode = '';
$clean = array();
$postalCode = '200-0000'; //true
if ($postalCode && preg_match("/^[0-9]{3}-?[0-9]{4}$/", $postalCode)) {
$clean["postalCode"] = $postalCode;
}
var_dump($clean);
$postalCode = '';
$clean = array();
$postalCode = '100000'; //桁数が足りないためfalse
if ($postalCode && preg_match("/^[0-9]{3}-?[0-9]{4}$/", $postalCode)) {
$clean["postalCode"] = $postalCode;
}
var_dump($clean);
$postalCode = '';
$clean = array();
$postalCode = '100000!'; //半角数字以外のためfalse
if ($postalCode && preg_match("/^[0-9]{3}-?[0-9]{4}$/", $postalCode)) {
$clean["postalCode"] = $postalCode;
}
var_dump($clean);
結果
array(1) {
["postalCode"]=>
string(7) "1000000"
}
array(1) {
["postalCode"]=>
string(8) "200-0000"
}
array(0) {
}
array(0) {
}