preg_match関数

preg_match関数 

入力された文字列が正規表記で指定した形式に該当するかをチェック。

郵便番号が正しく入力されているかをチェック

正しく入力されていると・・・
正しく入力されていると、このような表示がでます。
正しくないと、このような表現になります。

それでは早速、作ってみましょう

postcode-input.php

<?php require ‘header.php’; ?>
<p>7桁の郵便番号を「ハイフン」なしで入力してください</p>
<form action=”postcode-output.php” method=”post”>
     <input type=”text” name=”postcode“>
     <input type=”submit” value=”確定”>
</form>
<?php require ‘footer.php’; ?>
<input>タグを用いてテキストボックスを作ります。name属性の値(リクエストパラメータ名)はpostcodeとしました。

postcode-output.php

<?php require ‘header.php’; ?>
<?php
$postcode = $_REQUEST[‘postcode’];
if (preg_match(‘/^[0-9]{7}$/’, $postcode)){
echo ‘郵便番号’ , $postcode , ‘を確認できました’;
} else {
     echo  ‘読み取れません。7桁になってますか?適切な形式になってますか?ご確認ください’;
}
?>
<?php require ‘footer.php’; ?>
「書式」preg_match(パターン, 入力文字列)
引数に指定したパターンに入力文字列が合致すると、この関数は「1」を返します。合致しなかった場合に「0」を返します。
if文などの条件式でpreg_match関数を使った場合、「1」はTRUE、「0」はFALSEになります。
➀^:行頭(キーボードではひらがなの「へ」で入力)
➁[0-9]:0~9までの数字1文字
➂{7}:直前の文字が7文字続く
④$:行末を示す

郵便番号、ハイフンあり形式を作ろう

正しく入力すると・・・
if文、TRUEによりこのように表示されます
if文、FALSEによりこのように表示されます。

それでは早速、作ってみましょう

postcode-input2.php

<?php require ‘header.php’; ?>
<p>7桁の郵便番号を「ハイフンあり」で入力してください</p>
<form action=”postcode-output2.php” method=”post“>
     <input type=”text” name=”postcode”>
     <input type=”submit” value=”確定”>
</form>
<?php require ‘footer.php’; ?>
「ハイフンあり」に変更しています。またactionでの送信先もpostcode-output2.phpに変更しています。

postcode-output2.php

<?php require ‘header.php’; ?>
<?php
$postcode = $_REQUEST[‘postcode’];
if (preg_match(‘/^[0-9]{3}-[0-9]{4}$/’, $postcode)){
echo ‘郵便番号’ , $postcode , ‘を確認できました’;
} else {
     echo  ‘読み取れません。7桁になってますか?ハイフンは入れましたか?’;
}
?>
<?php require ‘footer.php’; ?>
➀^:行頭
➁[0-9]:0~9までの数字
➂{3}:直前の文字が3文字続く。
④-:ハイフン
⑤[0-9]:0~9までの数字
⓺{4}:直前の文字が4文字続く
⑦$:行末を示す

入力されたパスワードが適切かどうかを判定する

正しく入力すると・・・
正しく入力されたパスワードが表示されます
正しくないと、このような表示が出るようにします

早速、作ってみましょう

password-input.php

<?php require ‘header.php’; ?>
<p>パスワードを入力してください</p>
<p>7文字以上で、英小文字、英大文字、数字を各1文字以上含むこと</p>

<form action=”password-output.php” method=”post”>
     <input type=”password” name=”password”>
     <input type=”submit” value=”確定”>
</form>
<?php require ‘footer.php’; ?>
type属性をpasswordにすると、パスワード入力欄になり、入力した文字列が画面に表示されなくなります。

password-output.php

<?php require ‘header.php’; ?>
<?php
$password = $_REQUEST[‘password’];
if (preg_match(‘/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{7,}$/’, $password)){          
echo ‘パスワード’ , $password , ‘を確認できました’;
} else {
     echo  ‘読み取れません。適切に入力してください’;
}
?>
<?php require ‘footer.php’; ?>
7文字以上で英小文字、英大文字、数字を各1文字以上含むパスワードが適切と設定
➀^ →行頭
➁(?=.*[a-z]) →英小文字(aからz)を含む
➂(?=.*[A-Z])→英大文字(AからZ)を含む
④(?=.*[0-9])→数字(0から9)を含む
⑤{7,}→直前の文字が7文字以上続く
⓺$ →行末
PHPについて

この本から引用、参考にして学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが3,000円弱ならコスパよく、買っておいてよかったと満足してます。


短期間でのレベルアップにはプロから学ぶのもありです。

キャリアアップに必要なスキルを取得しよう。

オンラインで受講ができるスクールですので、全国どこからでも。

就職・転職支援