<< データのGETとPOSTの違いについて | main | 改行文字→htmlの<br />タグへの変換 >>

スポンサーサイト

  • 2009.06.05 Friday
  • -
  • -
  • -
  • by スポンサードリンク

一定期間更新がないため広告を表示しています


メールアドレスのチェックで正規表現のお勉強

少し(?)前ですが、PHPのサンプルフォームの作成でメールアドレスのチェックがあったので、ここで明記。

<?php
 // メールアドレスの入力エラー(空の場合)
 if($mail == "") {
  echo("<font color='#ff0000'>メールアドレスを入力してください。</font>");
  $mail = false;
 }
 else{ // 半角英数字以外の文字を入れた場合
  if (!preg_match('/^[a-zA-Z0-9][a-zA-Z0-9_¥.¥-]+?@[A-Za-z0-9_¥.¥-]+$/',$mail)) {
   //エラー
   echo("<font color='#ff0000'>メールアドレスが正しくありません。</font>");
   $mail = false;
  }
 }
?>

preg_matchは、正規表現によるマッチングを行う関数のこと。

preg_match("/パターン/", 調べる文字列) の形式。
上記の場合、調べる文字列は $mailという変数になる。

それで、問題は /パターン/ に該当する、 ^[a-zA-Z0-9][a-zA-Z0-9_¥.¥-]+?@[A-Za-z0-9_¥.¥-]+$ という表記。

これを正規表現で表すと、
^ …先頭から
[a-zA-Z0-9] …文字クラス(※半角英数字にマッチ)
[a-zA-Z0-9_¥.¥-] …文字クラス(※プログラム等で使う . と - のメタ文字を、その前に ¥ を置く事で、ただのハイフンとドットとしての扱いになる。)
+ …1回以上のパターンの繰り返し
? …0回から1回のパターン
$ …末尾から

となる。

…次回(があれば)につづく。

スポンサーサイト

  • 2009.06.05 Friday
  • -
  • 21:50
  • -
  • -
  • by スポンサードリンク

コメント
コメントする









calendar
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>
スカウター : moz'B
links
others
selected entries
categories
archives
recent comment
   
sponsored links
recommend
profile
search this site.
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM