<!--
//=============================================================
//
// file_name   : inc/com_check_js.inc
//
// function    : 入力内容の検査用関数の定義
//
// contents    : 
//
//'	fiUtlCheckInput			未入力チェック検査処理
//
//	fiUtlCheckHanEiSu		半角英数字の検査処理
//	fiUtlCheckHankakuNum	半角文字列（数字のみ）の検査処理
//
//	fiUtlCheckZenkaku		全角文字列の検査処理
//	ifCheckHankaku			↑メソッドで使用
//
//	fiUtlCheckStrCmp		文字列比較の処理
//
//	fiUtlCheckHanEi			半角英字の検査処理	2001.08.16
//	fiUtlCheckHanEiBig		半角英大文字の検査処理	2001.08.16
//	fiUtlCheckTel			電話番号（数字or"-"）の検査処理	2001.08.16
//	fiUtlCheckUru			閏年の検査処理	2001.08.16
//	fiUtlCheckDate			日付の検査処理	2001.08.16
//
//	2001.08.16 関数追加 MAIN/Shinichi.Takahashi
//
//==========================================================

//==========================================================
// name        : fiUtlCheckInput
//
// function    : 未入力チェック検査処理
//
// usage       : o_ret = fiUtlCheckInput(i_str, i_err_msg)
//
// parameter   : i_str		検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/07/24  Etsuko		###初版###
//==========================================================
//function fiUtlCheckInput(i_str, i_err_msg) {
function fiUtlCheckInput(obj, i_err_msg) {

	var i_str;
	i_str = obj.value;

	if(i_str == "") {
		alert(i_err_msg);
		return false;
	}
	return	true;
}
//==========================================================
// name        : fiUtlHankakuNum
//
// function    : 半角文字列（数字のみ）の検査処理
//
// usage       : o_ret = fiUtlCheckHankakuNum(i_str, i_err_msg)
//
// parameter   : i_str		検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/07/24  Etsuko		###初版###
//==========================================================
//function fiUtlCheckHankakuNum(i_str, i_err_msg) {
function fiUtlCheckHankakuNum(obj, i_err_msg) {

	var i_str;
	i_str = obj.value;

	for (i=0; i<i_str.length; i++)
	{
		c = i_str.charAt(i);
		if ("0123456789".indexOf(c,0) < 0 )
		{
			alert(i_err_msg);
			return false;
		}
	}
	return	true;
}

//==========================================================
// name        : fiUtlCheckHanEiSu
//
// function    : 半角英数字の検査処理
//
// usage       : o_ret = fiUtlCheckHanEiSu(i_str, i_err_msg)
//
// parameter   : i_str	検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/07/24  Etsuko		###初版###
//==========================================================
//function fiUtlCheckHanEiSu(i_str, i_err_msg) {
function fiUtlCheckHanEiSu(obj, i_err_msg) {

	var i_str;
	i_str = obj.value;

	for (i=0; i<i_str.length; i++)
	{
		c = i_str.charAt(i);
		if (("0123456789".indexOf(c,0) < 0) && ("@-_.".indexOf(c,0) < 0) && (c.match(/[^a-z|^A-Z]/)))
		{
			alert(i_err_msg);
			return false;
		}
	}
	return	true;
}


//==========================================================
// name        : fiCheckHankaku
//
// function    : 半角文字の検査処理
//
// usage       : o_ret = fiCheckHankaku(i_str)
//
// parameter   : i_str	検査対象文字列
//
// return      : true	半角文字が含まれていない
//				 false	半角文字が含まれている
//
// history     : 
//   2001/07/24  Etsuko		###初版###
//==========================================================
function fiCheckHankaku(i_str)
{
	// 半角カナが含まれている場合falseを返す
	for (i = 0; i < i_str.length; i++) {
		str = i_str.charAt(i);
		if (str >= "｡" && str <= "ﾟ") {
			return false;
		}
	}  

	for (i = 0; i < i_str.length; i++) {
		str = i_str.charAt(i);
		if (str < "　" && str != '\n' && str != '\r') {
			return false;
		}
	}
	return true;
}
// 2001.10.12
// Netscape 4.05 にて replace により改行コードが削除できないため作成
function RetDeleted(targetstring) {
	if (targetstring.indexOf(unescape('%0D%0A')) > -1) rcode = unescape('%0D%0A')
	else if (targetstring.indexOf(unescape('%0A')) > -1) rcode = unescape('%0A')
	else rcode = unescape('%0D');
	i = 0;
	p = '';
	while (targetstring.indexOf(rcode,i) != -1) {
		m = targetstring.indexOf(rcode,i);
		p += targetstring.substring(i,m);
		i = m + rcode.length;
	}
	p += targetstring.substring(i,targetstring.length);
	return p;
}

//==========================================================
// name        : fiUtlCheckZenkaku
//
// function    : 全角文字列の検査処理
//
// usage       : o_ret = fiUtlCheckZenkaku(i_str)
//
// parameter   : i_str	検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	全角のみの文字列
//				 false	全角以外の文字列が存在
//
// history     : 
//   2001/07/24  Etsuko		###初版###
//==========================================================
//function fiUtlCheckZenkaku(i_str, i_err_msg)
function fiUtlCheckZenkaku(obj, i_err_msg)
{
//2001.10.12 ADD_START
	plus_numb="ア".length
	var cnst = "ｧｱｨｲｩｳｪｴｫｵｶｷｸｹｺｻｼｽｾｿﾀﾁｯﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓｬﾔｭﾕｮﾖﾗﾘﾙﾚﾛﾜｦﾝｰﾟﾞ";
		cnst+="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";
		cnst+="!#0&'()=`|~{+*}<>?^@[;:],./$\%\\";
//2001.10.12 ADD_END
// 2001.08.18 バグ対応
// 	if (!fiCheckHankaku(obj.value)) {
//		alert(i_err_msg);
//		return false;
//	}
	var txt=obj.value;
//2001.08.24 改行コードはＯＫ
// 2001.10.12 
// Netscape 4.05 にて replace により改行コードが削除できないため作成
//	txt = txt.replace(/[\n\r]/g,"");
	txt = RetDeleted(txt);

//2001.10.12 DELETE
//	for(i=0;i<txt.length;i++){
//		if(escape(txt.charAt(i)).length<4){
//			alert(i_err_msg);
//			return false;
//		}
//	}
//2001.10.12 ADD_START
	i=0;
	while(1){
		temp=txt.substring(i,i+1);
		if(cnst.indexOf(temp)>=0){
			alert(i_err_msg);
			return false;
		} else {
		i=i+plus_numb;
		if(i>=txt.length){  break;}
		}
	}
//2001.10.12 ADD_END
	return true;
}

//==========================================================
// name        : fiUtlCheckStrCmp
//
// function    : 文字と文字列の比較処理
//
// usage       : o_ret = fiUtlCheckStrCmp(i_str1, i_str2, i_err_msg)
//
// parameter   : i_str1,	検査対象文字列1
//				 i_str2,	検査対象文字列2
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true		文字列が同じ
//				 false		文字列が異なる
//
// history     : 
//   2001/07/24  Etsuko		###初版###
//==========================================================
//function fiUtlCheckStrCmp(i_str1, i_str2, i_err_msg)
function fiUtlCheckStrCmp(obj1, obj2, i_err_msg)
{
    var i_str1, i_str2;
	i_str1 = obj1.value;
	i_str2 = obj2.value;
    if (i_str1 != i_str2) {
		alert(i_err_msg);
        return false;
    }
    return true;
}


//==========================================================
// name        : fiUtlCheckHanEi
//
// function    : 半角英字の検査処理
//
// usage       : o_ret = fiUtlCheckHanEi(i_str, i_err_msg)
//
// parameter   : i_str	検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/08/16  MAIN/Shinichi.Takahashi
//==========================================================
function fiUtlCheckHanEi(obj, i_err_msg) {

	var i_str;
	i_str = obj.value;

	for (i=0; i<i_str.length; i++)
	{
		c = i_str.charAt(i);
		if (c.match(/[^a-z|^A-Z]/))
		{
			alert(i_err_msg);
			return false;
		}
	}
	return	true;
}

//==========================================================
// name        : fiUtlCheckHanEiBig
//
// function    : 半角英大文字の検査処理
//
// usage       : o_ret = fiUtlCheckHanEi(i_str, i_err_msg)
//
// parameter   : i_str	検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/08/16  MAIN/Shinichi.Takahashi
//==========================================================
//function fiUtlCheckHanEiBig(obj, i_err_msg) {
function fiUtlCheckHanEiBig(i_str, i_err_msg) {

	var i_str;
//	i_str = obj.value;

	for (i=0; i<i_str.length; i++)
	{
		c = i_str.charAt(i);
		if (c.match(/[^A-Z]/))
		{
			alert(i_err_msg);
			return false;
		}
	}
	return	true;
}

//==========================================================
// name        : fiUtlCheckTel
//
// function    : 電話番号（数字or"-"）の検査処理
//
// usage       : o_ret = fiUtlCheckTel(i_str, i_err_msg)
//
// parameter   : i_str	検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/08/16  MAIN/Shinichi.Takahashi
//==========================================================
function fiUtlCheckTel(obj, i_err_msg) {

	var i_str;
	i_str = obj.value;

	for (i=0; i<i_str.length; i++)
	{
		c = i_str.charAt(i);
		if (("0123456789".indexOf(c,0) < 0) && ("-".indexOf(c,0) < 0))
		{
			alert(i_err_msg);
			return false;
		}
	}
	return	true;
}
//==========================================================
// name        : fiUtlCheckUru
//
// function    : 閏年の検査処理
//
// usage       : o_ret = fiUtlCheckUru(i_str, i_err_msg)
//
// parameter   : y	年
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/08/16  MAIN/Shinichi.Takahashi
//==========================================================
function fiUtlCheckUru(y) {
	var flag;

	flag = false;
	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) flag = true;
	if (flag) return true; else return false;
}
//==========================================================
// name        : fiUtlCheckDate
//
// function    : 日付の検査処理
//
// usage       : o_ret = fiUtlCheckDate(i_str, i_err_msg)
//
// parameter   : y	年
//				 m	月
//				 d	日
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/08/16  MAIN/Shinichi.Takahashi
//==========================================================
function fiUtlCheckDate(y,m,d,i_err_msg) {
	var f_uru;

	f_uru = false;
	if (fiUtlCheckUru(y) == true){
		f_uru = true;
	}

	if ((m < 1) || (m > 12)){
		alert(i_err_msg);
		return false;
	}
	if (((m == 1) || (m == 3) || (m == 5) || (m == 7) || (m == 8) || (m == 10) || (m == 12)) && ((d < 1) || (d > 31))) {
		alert(i_err_msg);
		return false;
	}
	if (((m == 4) || (m == 6) || (m == 9) || (m == 11)) && ((d < 1) || (d > 30))) {
		alert(i_err_msg);
		return false;
	}
	if ((m == 2) && (f_uru) && ((d < 1) || (d > 29))) {
		alert(i_err_msg);
		return false;
	}
	if ((m == 2) && (f_uru == false) && ((d < 1) || (d > 28))) {
		alert(i_err_msg);
		return false;
	}

	return	true;
}
//==========================================================
// name        : figetByte
//
// function    : 文字列のバイト数を取得
//
// usage       : o_ret = figetByte(i_str)
//
// parameter   : i_str	検査テキスト
//
// return      : バイト数
//
// history     : 
//   2001/08/25	MAIN/Shinichi.Takahashi
//==========================================================
function figetByte(i_str){
	var	count = 0;
	var	n;
	var	i;
	for (i=0; i<i_str.length; i++){
		n = escape(i_str.charAt(i));
		if (n.length < 4) count++; else count+=2;
	}
	return count;
}
//==========================================================
// name        : fiUtlCheckZenKana
//
// function    : 全角カナ文字列の検査処理
//
// usage       : o_ret = fiUtlCheckZenKana(i_str, i_err_msg)
//
// parameter   : i_str		検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/08/25  MAIN/Shinichi.Takahashi
//==========================================================
function fiUtlCheckZenKana(obj, i_err_msg) {
	var	charset;
	charset =           "アイウエオ"
	charset = charset + "カキクケコ"
	charset = charset + "サシスセソ"
	charset = charset + "タチツテト"
	charset = charset + "ナニヌネノ"
	charset = charset + "ハヒフヘホ"
	charset = charset + "マミムメモ"
	charset = charset + "ヤユヨ"
	charset = charset + "ラリルレロ"
	charset = charset + "ワヲン"
	charset = charset + "ガギグゲゴ"
	charset = charset + "ザジズゼゾ"
	charset = charset + "ダヂヅデド"
	charset = charset + "バビブベボ"
	charset = charset + "パピプペポ"
	charset = charset + "パピプペポ"
	charset = charset + "ヴァィゥェォャュョッー 　"

	var i_str;
	i_str = obj.value;

	for (i=0; i<i_str.length; i++)
	{
		c = i_str.charAt(i);
		if (charset.indexOf(c,0) < 0 )
		{
			alert(i_err_msg);
			return false;
		}
	}
	return	true;
}
//==========================================================
// name        : fiUtlCheckZenHira
//
// function    : 全角ひらがな文字列の検査処理
//
// usage       : o_ret = fiUtlCheckZenHira(i_str, i_err_msg)
//
// parameter   : i_str		検査対象文字列
//				 i_err_msg	エラー時の出力メッセージ
//
// return      : true	OK
//				 false	NG
//
// history     : 
//   2001/08/25  MAIN/Shinichi.Takahashi
//==========================================================
function fiUtlCheckZenHira(obj, i_err_msg) {
	var	charset;
	charset =           "あいうえお"
	charset = charset + "かきくけこ"
	charset = charset + "さしすせそ"
	charset = charset + "たちつてと"
	charset = charset + "なにぬねの"
	charset = charset + "はひふへほ"
	charset = charset + "まみむめも"
	charset = charset + "やゆよ"
	charset = charset + "らりるれろ"
	charset = charset + "わをん"
	charset = charset + "がぎぐげご"
	charset = charset + "ざじずぜぞ"
	charset = charset + "だぢづでど"
	charset = charset + "ばびぶべぼ"
	charset = charset + "ぱぴぷぺぽ"
	charset = charset + "ぁぃぅぇぉゃゅょっー 　"

	var i_str;
	i_str = obj.value;

	for (i=0; i<i_str.length; i++)
	{
		c = i_str.charAt(i);
		if (charset.indexOf(c,0) < 0 )
		{
			alert(i_err_msg);
			return false;
		}
	}
	return	true;
}

//-->

