
///////////////////////////////////////////////////////////////////////////////////////////
//整数値文字列かどうかを検査する。
//@params
//value      : 検査したい値
//min        : 値の下限値。下限値検査をしない場合にはundefinedを設定。
//max        : 値の上限値。上限値検査をしない場合にはundefinedを設定。
//isAllowNull: 空文字を許可する場合にはtrueを、それ以外の場合にはfalseを設定。
//
//@return
//論理値。制約条件下において整数値と判断される場合にはtrueを、それ以外はfalseを返す。
///////////////////////////////////////////////////////////////////////////////////////////
function isInteger(value, min, max, isAllowNull)
{
    if( (isAllowNull == true) && (value.toString() == '') ){
        return true;
    }

	if( value.match(/[0-9]+/) != value ){
		return false;
	}

	var num = parseInt( value );

	if( (min != undefined) && (value < min) ){
		return false;
	}
	if( (max != undefined) && (value > max) ){
	    return false;
	}
	
	return true;
}


///////////////////////////////////////////////////////////////////////////////////////////
//数値文字列かどうかを検査する。
//@params
//value      : 検査したい値
//min        : 値の下限値。下限値検査をしない場合にはundefinedを設定。
//max        : 値の上限値。上限値検査をしない場合にはundefinedを設定。
//isAllowNull: 空文字を許可する場合にはtrueを、それ以外の場合にはfalseを設定。
//
//@return
//論理値。制約条件下において数値と判断される場合にはtrueを、それ以外はfalseを返す。
///////////////////////////////////////////////////////////////////////////////////////////
function isFloat(value, min, max, isAllowNull)
{
    if( (isAllowNull == true) && (value.toString() == '') ){
        return true;
    }
    
    if( value.match(/[0-9]+/) != value && 
    	 value.match(/[0-9]+\.[0-9]+/) != value && 
    	 value.match(/\.[0-9]+/) != value && 
    	 value.match(/[0-9]+\./) != value ){
        return false;
    }
    
    var num = parseFloat( value );

    if( (min != undefined) && (value < min) ){
        return false;
    }
    if( (max != undefined) && (value > max) ){
        return false;
    }
    
    return true;
}


///////////////////////////////////////////////////////////////////////////////////////////
//日付文字列かどうかを検査する。
//@params
//value      : 検査したい値
//min        : 値の下限値。下限値検査をしない場合にはundefinedを設定。
//max        : 値の上限値。上限値検査をしない場合にはundefinedを設定。
//isAllowNull: 空文字を許可する場合にはtrueを、それ以外の場合にはfalseを設定。
//
//@return
//論理値。制約条件下において日付と判断される場合にはtrueを、それ以外はfalseを返す。
///////////////////////////////////////////////////////////////////////////////////////////
function isDate(value, min, max, isAllowNull)
{
    if( (isAllowNull == true) && (value.toString() == '') ){
        return true;
    }

    if( isNaN(Date.parse(value)) ){
        return false;
    }

    var dt = new Date(value);
    if( (min != undefined) && (dt.getTime() < min.getTime()) ){
        return false;
    }

    if( (max != undefined) && (dt.getTime() > max.getTime()) ){
        return false;
    }


	return true;
}


///////////////////////////////////////////////////////////////////////////////////////////
//文字列の前後からスペースを取り除く
//@params
//value      : 対象文字列
//
//@return
//文字列。引数で渡された文字列の前後からスペースを取り除いた値。
///////////////////////////////////////////////////////////////////////////////////////////
function trim(value)
{
	return value.replace(/^\s+｜\s+$/g, '');
}


///////////////////////////////////////////////////////////////////////////////////////////
//文字列の最後からスペースを取り除く
//@params
//value      : 対象文字列
//
//@return
//文字列。引数で渡された文字列の最後からスペースを取り除いた値。
///////////////////////////////////////////////////////////////////////////////////////////
function rtrim(value)
{
    return value.replace(/\s+$/g, '');
	
}


///////////////////////////////////////////////////////////////////////////////////////////
//文字列の前部からスペースを取り除く
//@params
//value      : 対象文字列
//
//@return
//文字列。引数で渡された文字列の前部からスペースを取り除いた値。
///////////////////////////////////////////////////////////////////////////////////////////
function ltrim(value)
{
    return value.replace(/^\s+/g, '');
}
