メアドが正しいか形式か正規表現でチェックする。



<!--
Created By: Paul Janaway
Website: http://maddogsplace.co.uk
-->

<?php

class validate
{

	function show()
	{
//ポストのcheckの中に文字が入っていれば、email()に代入
//そうじゃなければ、form()を呼び出す。
if($_POST['check'])
		{

			$this->email($_POST['email']);

		}
		else
		{

			$this->form();

		}

	}

	function email($info)
	{
//eregi --  大文字小文字を区別せずに正規表現によるマッチングを行う 
//文字列の先頭^
//直前のパターンの1回以上の繰返し +
//直前のパターンの0回以上の繰返し *
//直前のパターンを2または3回繰り返す。{2,3}
		$check = eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$","$info",$info);

		if($check)
		{

			echo "Email is in the correct format.";

		}
		else
		{

			echo "Email isn't in the correct format.";

		}

	}

	function form()
	{

		echo "<form method='POST'>";
		echo "<b>Email:</b><br>";
		echo "<input type='email' name='email'> ";
		echo "<input type='submit' name='check' value='Check Email'>";
		echo "</form>";

	}

}

$main = new validate;

$main->show();

?>