/*********************************************
*	データチェックライブラリ
*********************************************/

//対象データに値があるがチェック(データ長のから）
function checkLength(pdata){
	var bRet = false;
	
	if(pdata.length == 0){
		bRet = false;
	}
	else {
		bRet = true;
	}
	return bRet;
}

//メールアドレスチェック
function checkEmail(pdata){
	var bRet = false;
	var sTemp = "";
	var sDot = "";
	var sDot2 = "";
	var i,j;
	var array_dot = new Array("co.jp","ne.jp","com","gr.jp","jp",
									"cn","net","info","biz","org",
									"tv","ne.jp","or.jp");
	
	if(pdata.length == 0){
		bRet=true;
	}
	else{
		if(pdata.indexOf("@",0)>1){
			if(pdata.lastIndexOf("@")>=pdata.length-1){
				bRet=false;
			}
			else{
				bRet=true;
			}

            sTemp = pdata.substring(pdata.indexOf("@") + 1);
			//＠マークの後ろに"."があるかチェックする
        	if(sTemp.indexOf('.') < 0){
				bRet=false;
        	}
        	else {
				sDot = sTemp.substring(sTemp.indexOf(".") + 1);
				j = 0;
				for ( i=0;i<13;i++) {
					if(sDot ==array_dot[i]){
						j = 1;
					}
				}
				if(j==0){
					sDot2 = sDot.substring(sDot.indexOf(".") + 1);
					j = 0;
					for ( i=0;i<13;i++) {
						if(sDot2 ==array_dot[i]){
							j = 1;
						}
					}
					if ( j == 0)
						return false;
				}
        	}
		}
		else{
			bRet=false;
		}
	}
	return bRet;
}

/**
	半角英数字チェック
	半角英数字0〜9、a〜z、A〜Z以外の文字が存在した場合false
**/
function checkHalfAlphaNum(pdata){
	var bRet = false;
	bRet=(pdata.match(/[0-9a-zA-Z]+/g) == pdata);
	return bRet;
}

/**
	禁止文字チェック
	<>'"&%の文字が存在したらfalse
**/
function checkNoEntryString(pdata)
{
	var bRet = false;
	bRet=(pdata.match(/[,<>'"&%;():\\]/) == null);

	return bRet;
}

/**
	全角カナチェック(英数字記号含む)
	全角カナ（指定した文字）以外の文字が存在したらfalse
**/
function checkZenkakuKatakana(pdata){
	var KANA = "　ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶー０１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ−？（）。、．＃！＄％＠・／";
	var g;
	var i, j;
	
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(pdata.charAt(i)==KANA.charAt(j)){	// 全角カナであるとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	半角カナチェック
	半角カナ（指定した文字）が存在したらfalse
**/
function checkHankakuKatakana(pdata){
	var KANA="ｱｧｲｨｳｩｴｪｵｫｶｶﾞｷｷﾞｸｸﾞｹｹﾞｺｺﾞｻｻﾞｼｼﾞｽｽﾞｾｾﾞｿｿﾞﾀﾀﾞﾁﾁﾞﾂﾂﾞｯﾃﾃﾞﾄﾄﾞﾅﾆﾇﾈﾉﾊﾋﾞﾋﾋﾞﾌﾌﾞﾍﾍﾞﾎﾎﾞﾏﾐﾑﾒﾓﾔｬﾕｭﾖｮﾗﾘﾙﾚﾛﾜｦﾝｳﾞ";
	var i, j;	
	for(i =0 ; i<pdata.length ; i++) {
		for (j = 0; j < KANA.length; j++) {	
			if(pdata.charAt(i)==KANA.charAt(j)){	// 半角カタカナであるとき
				return false;
			}
		}
	}
	return true;
}

/**
	全角カナチェック◆
	全角カナ以外の文字が存在したらfalse
**/
function checkAllKatakana(pdata){
	var KANA = "　ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶー";
	var g;
	var i, j;	
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(pdata.charAt(i)==KANA.charAt(j)){	// 全角カナであるとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	カナチェック(英数字記号含む・全角半角の区別はなし)
	カナ（指定した文字）以外の文字が存在したらfalse
**/
function checkKatakana(pdata){
	var KANA = "　 ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶー０１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ−？（）。、．＃！＄％＠・／ｱｲｳｴｵｧｨｩｪｫｶｷｸｹｺｻｼｽｾｿﾀﾁﾂｯﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖｬｭｮﾗﾘﾙﾚﾛﾜｦﾝﾞﾟ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-?().,#!$%@/ｰ";
	var g;
	var i, j;	
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(pdata.charAt(i)==KANA.charAt(j)){	// 全角カナであるとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	カナチェック(全角半角の区別はなし)◆
	カナ以外の文字が存在したらfalse
**/
function checkAllBigSmallKatakana(pdata){
	var KANA = "　 ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶーｱｲｳｴｵｧｨｩｪｫｶｷｸｹｺｻｼｽｾｿﾀﾁﾂｯﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖｬｭｮﾗﾘﾙﾚﾛﾜｦﾝﾞﾟｰ";
	var g;
	var i, j;	
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(pdata.charAt(i)==KANA.charAt(j)){	// 全角カナであるとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	数値ハイフンチェック(全角半角の区別はなし)◆
	数値とハイフン以外の文字が存在したらfalse
**/
function checkAllNumber(pdata){
	var KANA = "1234567890１２３４５６７８９０−-ーｰ";
	var g;
	var i, j;	
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < KANA.length; j++) {	
			if(pdata.charAt(i)==KANA.charAt(j)){	// 数値・ハイフンのとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	数値チェック(全角半角の区別はなし)◆
	数値とハイフン以外の文字が存在したらfalse
**/
function checkNumberNotFullHalf(pdata){
	var NUM = "1234567890１２３４５６７８９０";
	var g;
	var i, j;	
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < NUM.length; j++) {	
			if(pdata.charAt(i)==NUM.charAt(j)){	// 数値のとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	数値チェック(半角のみ)◆
	数値以外の文字が存在したらfalse
**/
function checklHalfNumber(pdata){
	var NUM = "1234567890";
	var g;
	var i, j;	
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < NUM.length; j++) {	
			if(pdata.charAt(i)==NUM.charAt(j)){	// 数値のとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}

/**
	半角英数字チェック(ハイフンを含む)◆
	半角英数字とハイフン以外の文字が存在したらfalse
**/
function checkHalfAlphaNumber(pdata){
	var NUM = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-";
	var g;
	var i, j;	
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < NUM.length; j++) {	
			if(pdata.charAt(i)==NUM.charAt(j)){	// 数値のとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}
/**
	半角英数字チェック(-,.@を含む)◆
	半角英数字とハイフン以外の文字が存在したらfalse
**/
function checkHalfAlphaNumber2(pdata){
	var NUM = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-.@_";
	var g;
	var i, j;
	for(i =0 ; i<pdata.length ; i++) {
		g=0;
		for (j = 0; j < NUM.length; j++) {	
			if(pdata.charAt(i)==NUM.charAt(j)){	// 数値のとき
				g=1;
			}
		}	
		if(g==0){
			return false;
		}
	}
	return true;
}
