var addListen = (function(){
	if(typeof addEventListener != 'undefined'){
		return function(elm, type, func){
			elm.addEventListener(type, func, false);
		}
	}
	else if(typeof attachEvent != 'undefined'){
		return function(elm, type, func){
			elm.attachEvent('on' + type, func);
		}
	}
	else{
		return new Function;
	}
})();
addListen(
	window,
	'load',
	function(){
		addListen(
			document.getElementById('check'),
			'click',
			function(){
				judge();
			}
		);
		addListen(
			document.getElementById('reg'),
			'keyup',
			function(){
				judge();
			}
		);
		addListen(
			document.getElementById('str'),
			'keyup',
			function(){
				judge();
			}
		);
	}
);
function judge(){
	try{
		var reg = new RegExp(document.getElementById('reg').value);
		if(document.getElementById('str').value.match(reg)){
			document.getElementById('judge').innerHTML = 'マッチしました（正規表現:' + document.getElementById('reg').value + '）';
		}
		else{
			document.getElementById('judge').innerHTML = 'マッチしません（正規表現:' + document.getElementById('reg').value + '）';
		}
	}
	catch(e){
			document.getElementById('judge').innerHTML = '正規表現がくずれています:' + e;
	}
}

