« 2016年09月 | メイン | 2016年11月 »

2016年10月31日

PHP自作例外処理

//************************************
// 例外処理登録
//************************************
function my_exception_handler($e) {
	//このあたりにその場合の処理を
	require_once("ERR.inc");
	$ERR = new ERR();
	$ERR->show("システムに致命的なバグがありました。".$e->getMessage(),1,$e->getFile(),$e->getLine());
	
	exit;
}
set_exception_handler('my_exception_handler');

投稿者 muuming : 09:35

2016年10月29日

ブラウザに形式チェックさせない


input formnovalidate とすれば形式チェックしない

投稿者 muuming : 12:51

2016年10月28日

よく使うJSメモ


//********************************************
// 全角数字を半角に変換する
//********************************************
function hankaku(key){
		key = key.replace(/0/g, "0");
		key = key.replace(/1/g, "1");
		key = key.replace(/2/g, "2");
		key = key.replace(/3/g, "3");
		key = key.replace(/4/g, "4");
		key = key.replace(/5/g, "5");
		key = key.replace(/6/g, "6");
		key = key.replace(/7/g, "7");
		key = key.replace(/8/g, "8");
		key = key.replace(/9/g, "9");
		key = key.replace(/!/g, "!");
		
		key = key.replace(/A/g, "A");
		key = key.replace(/B/g, "B");
		key = key.replace(/C/g, "C");
		key = key.replace(/D/g, "D");
		key = key.replace(/E/g, "E");
		key = key.replace(/F/g, "F");
		key = key.replace(/G/g, "G");
		key = key.replace(/H/g, "H");
		key = key.replace(/I/g, "I");
		key = key.replace(/J/g, "J");
		key = key.replace(/K/g, "K");
		key = key.replace(/L/g, "L");
		key = key.replace(/M/g, "M");
		key = key.replace(/N/g, "N");
		key = key.replace(/O/g, "O");
		key = key.replace(/P/g, "P");
		key = key.replace(/Q/g, "Q");
		key = key.replace(/R/g, "R");
		key = key.replace(/S/g, "S");
		key = key.replace(/T/g, "T");
		key = key.replace(/U/g, "U");
		key = key.replace(/V/g, "V");
		key = key.replace(/W/g, "W");
		key = key.replace(/X/g, "X");
		key = key.replace(/Y/g, "Y");
		key = key.replace(/Z/g, "Z");


	return(key);
}



/****************************************************************
 * 機 能: 入力された値が日付でYYYY/MM/DD形式になっているか調べる
 * 引 数: datestr 入力された値
 * 戻り値: 正:true 不正:false
 ****************************************************************/
function ckDate(datestr) {
	"use strict";
	// 正規表現による書式チェック
	var mc = datestr.match(/^([0-9]{4})([0-9]{2})([0-9]{2})$/);
	if (!mc) {
		return false;
	}

	var vYear = parseInt(mc[1]);
	var vMonth = parseInt(mc[2]) - 1; // Javascriptは、0-11で表現
	var vDay = parseInt(mc[3]);
	// 月,日の妥当性チェック
	if (vMonth >= 0 && vMonth <= 11 && vDay >= 1 && vDay <= 31) {
		var vDt = new Date(vYear, vMonth, vDay);
		if (isNaN(vDt)) {
			return false;
		}
		else if (vDt.getFullYear() === vYear && vDt.getMonth() === vMonth && vDt.getDate() ===
			vDay) {
			return true;
		}
		else {
			return false;
		}
	}
	else {
		return false;
	}
}

//***************************************
// アンカーリンクをスムース処理
//***************************************
$(window).load(
	function(){

		
	// #で始まるアンカーをクリックした場合に処理
		$('a[href^=#]').click(function() {
			// スクロールの速度
			var speed = 400; // ミリ秒
			// アンカーの値取得
			var href= $(this).attr("href");
			// 移動先を取得
			var target = $(href == "#" || href == "" ? 'html' : href);
			// 移動先を数値で取得
			var position = target.offset().top;
			var hederheight = 192;
			if(position>hederheight){
				position = position - hederheight;
			}
			
			// スムーススクロール
			$('body,html').animate({scrollTop:position}, speed, 'swing');
			return false;
		});
	}
);

//********************************************
//メールアドレス形式チェック
//********************************************
is_mail = function(mail_add){
	rObj = new RegExp("^[-a-z0-9A-Z\._]+@[-a-z0-9A-Z_]+\.[-a-z0-9A-Z\._]*[a-zA-Z][a-zA-Z]$");
	if(! rObj.test(mail_add)){
		return false;
	}else{
		return true;
	}
}

投稿者 muuming : 10:16