phpで電話番号のハイフンを正規表現で出力するfunction

プロモーションが含まれています

phpで電話番号のハイフンを正規表現で出力するfunction

phpで電話番号のハイフンをパターン化して、正規表現で出力するfunction。
DBには電話番号の検索がしやすいようにハイフン無しで格納する。
ページ上では、携帯・市外局番2桁・3桁・なしのパターンによって、ハイフン有りで出力するためのfunction。

php関連記事

関連記事をもっとみる

電話番号を出力するfunction

php

function format($input) {

  $input = str_replace("-", "", $input);

	//変数宣言
	$category = array(
			"normal" => "/^0[^346]\d{8}$/",
			"mobile" => "/^\d{11}$/",
			"tokyo"  => "/^0[346]\d{7}$/",
			"none"   => "/^\d{7}$/",
	);
	$pattern = array(
			"normal" => "/(\d{3})(\d{3})(\d{4})/",
			"mobile" => "/(\d{3})(\d{4})(\d{4})/",
			"tokyo"  => "/(\d{2})(\d{3})(\d{4})/",
			"none"   => "/(\d{3})(\d{4})/",
	);
	$rep = array(
			"normal" => "$1-$2-$3",
			"none"   => "$1-$2",
	);

	//携帯なら
	if(preg_match($category['mobile'],$input)) {
		$result = preg_replace($pattern['mobile'],$rep['normal'],$input);
	}
	//市外局番2桁なら
	elseif(preg_match($category['tokyo'],$input)) {
		$result = preg_replace($pattern['tokyo'],$rep['normal'],$input);
	}
	//普通の市外局番なら
	elseif(preg_match($category['normal'],$input)) {
		$result = preg_replace($pattern['normal'],$rep['normal'],$input);
	}
	//市外局番なしなら
	elseif(preg_match($category['none'],$input)) {
		$result = preg_replace($pattern['none'],$rep['none'],$input);
	}
	//その他なら
	else {
			$result = $input;
	}

	return $result;
}

コメント

タイトルとURLをコピーしました