2011年4月24日日曜日

Php samples

//メールアドレスチェック


//全角であるかのチェック



//英数字であるかのチェック





//URLチェック







/**
* 関数名:is_Hankaku_Num
* 引数:文字列
* 返り値:true/false
* 機能:文字列が半角数字のみで構成されているかチェック
* 備考:特に無し
*/

function is_Hankaku_Num($str){

$pat="^[0-9]+$";

if(ereg($pat,$str)){
return true;
}
else{
return false;
}
}





/**
* 関数名:is_Hankaku_char
* 引数:文字列
* 返り値:true/false
* 機能:文字列が半角文字(大・小)のみで構成されているかチェック
* 備考:全角数字を弾くことを明示しないといけないみたいだが…要調査。
*/

function is_Hankaku_char($str){

$pat='/[^a-zA-Z]|[0-9]+$/';

if(preg_match($pat,$str)==false){
return true;
}
else{
return false;
}
}





/**
* 関数名:is_mail_address(string $str)
* 引数:str フォームの入力文字列
* 返り値:true/false
* 機能:文字列がメールアドレスの形式になっているかチェック
* 備考:特になし
*/

function is_mail_address($str){

$pat="/^[0-9a-z\_\-]+@[0-9a-z\-\_]+\.[0-9a-z\-\_\.]+$/";

if(preg_match($pat,$str)){
return true;
}
else{
return false;
}

}





/**
* 関数名:is_zenkaku_char(string $str)
* 引数:str フォームの入力文字列
* 返り値:true/false
* 機能:文字列が全角文字のみで構成されているか否かを確認。
*    のみで構成されている場合、TRUEが返る。
* 備考:特になし
*/

function is_zenkaku_char(string $str) {

// [ALL] - [hankaku_alnum] - [hankaku_kana]
if (preg_match("/[a-zA-Z0-9ア-ン]/", $str)) {
return false;
} else {
return true;
}
}





/**
* 関数名:is_zenkaku_hirakana(string $str)
* 引数:str フォームの入力文字列
* 返り値:true/false
* 機能:文字列が全角かな文字のみで構成されているか否かを確認。
*    のみで構成されている場合、TRUEが返る。
* 備考:特になし
*/

function is_zenkaku_hirakana($str) {

if (mb_ereg("^[あ-ん]+$", $str)) {
return true;
} else {
return false;
}
}





/**
* 関数名:is_zenkaku_kana(string $str)
* 引数:str フォームの入力文字列
* 返り値:true/false
* 機能:文字列が全角カナ文字のみで構成されているか否かを確認。
*    のみで構成されている場合、TRUEが返る。
* 備考:特になし
*/

function is_zenkaku_kana($str) {

if (mb_ereg("^[ア-ン]+$", $str)) {
return true;
} else {
return false;
}
}






/**
* 関数名:is_hankaku_kana()
* 引数:str フォームの入力文字列
* 返り値:true/false
* 機能:文字列が半角カナ文字のみで構成されているか否かを確認。
*    のみで構成されている場合、TRUEが返る。
* 備考:特になし
*/

function is_hankaku_kana($str) {

if (mb_ereg("^[ア-ン゙゚]+$", $str)) {
return true;
} else {
return false;
}
}






/**
* 関数名:is_postcode(string $str)
* 引数:str フォームの入力文字列
* 返り値:true/false
* 機能:文字列が正しい郵便番号で構成されているか否かを確認。
*    構成されている場合、TRUEが返る。
* 備考:特になし
*/

function is_postcode($str) {

$pat = "/^\d{3}\-\d{4}$/";

if (preg_match($pat, $str)) {
return true;
} else {
return false;
}
}







/**
* 関数名:is_telnum(string $str)
* 引数:str フォームの入力文字列
* 返り値:true/false
* 機能:文字列が電話(FAX)番号で構成されているか否かを確認。
*    構成されている場合、TRUEが返る。
* 備考:特になし
*/

function is_telnum($str) {

// XX-XXXX-XXXX の場合
if (preg_match("/^\d{2}\-\d{4}\-\d{4}$/", $str)) {
echo "aaa";
return true;
} else {
return false;
}

// 11桁の場合
if (preg_match("/^\d{3}\-\d{4}\-\d{4}$/", $str)) {
echo "bbb";
return true;
} else {
return false;
}

// 市内局番 XXXX-XXXX の場合
if (preg_match("/^\d{4}\-\d{4}$/", $str)) {
echo "ccc";
return true;
} else {
return false;
}

// 市内局番 XX-XXXX の場合
if (preg_match("/^\d{2}\-\d{4}$/", $str)) {
echo "ddd";
return true;
} else {
return false;
}
}






/**
* 関数名:is_url(string $str)
* 引数:str フォームの入力文字列
* 返り値:true/false
* 機能:文字列がURLで構成されているか否かを確認。
*    構成されている場合、TRUEが返る。
* 備考:特になし
*/

function is_url($str) {

// RFC2396
$scheme = "/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/";

// check by regex
if (preg_match($scheme, $str)) {
return true;
} else {
return false;
}
}


?>