
//★---------------Nullチェック-----------------★
//　　入力されているかどうかのチェック
//★ 戻り値  0:入力されている 1:Null（入力されていない）
function c_null(sValue){
	if(sValue == ""){
		return 1;
	}else{
		return 0;
	}
}

//★---------------郵便番号チェック-----------------★
//　　000-0000の形式かどうかのチェック（３桁−４桁）
//★ 戻り値  0:郵便番号OK! 1:郵便番号の形式が違う(###-####の形になっていない） 2:ハイフン、数字以外のものがはいっている
function c_zip(sValue){
	if(sValue.match(/[^0-9\-]/)){
		return 2;
	}else{
		if(sValue.match(/^\d{3}\-\d{4}$/)){
			return 0;
		}else{
			return 1;
		}
	}
}

//★---------------電話番号チェック-----------------★
//　　ハイフンあっても、なくてもOK！　-は２つ以下、数字で終わる
//★ 戻り値  0:電話番号OK! 1:電話番号の形式が違う(###-####の形になっていない） 2:ハイフン、数字以外のものがはいっている
function c_phone(sValue){
	if(sValue.match(/[^0-9\-]/)){
		return 2;
	}else{
		if(sValue.match(/^\d+(?:\-|)\d+(?:\-\d+|)$/)){
			return 0;
		}else{
			return 1;
		}
	}
}

//★---------------数字、ハイフンチェック-----------------★
//　　数字とハイフンのみかどうかのチェックなので、上記の「郵便番号チェック」や「電話番号チェック」よりもチェックは甘い
//★ 戻り値  0:ハイフン、数字のみ 1:ハイフン、数字以外を含む
function c_num_hyphen(sValue){
	if(sValue.match(/[^0-9\-]/)){
		return 1;
	}else{
		return 0;
	}
}

//★---------------数字、コンマチェック-----------------★
//　　数字とコンマのみかどうかのチェック　小数点などの入力チェックに使用
//★ 戻り値  0:コンマ、数字のみ 1:コンマ、数字以外を含む
function c_num_comma(sValue){
	if(sValue.match(/[^0-9.]/)){
		return 1;
	}else{
		return 0;
	}
}

//★---------------ひらがなチェック
//★ 戻り値  0:ひらがなOK! 1:ひらがな以外を含む
function c_hiragana(sValue){
    var str_hiragana = new String   ("あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉっゃゅょゐゑー（　）");

	var msg2;
	var i;
	//スペースを取り除く
	msg2 = sValue.replace(/ /g,"");
	for (var i = 0; i < sValue.length; i++) {
		if(str_hiragana.indexOf(msg2.charAt(i),0) == -1){
			return 1;
		}
	}
	return 0;
}

//★---------------カタカナチェック
//★ 戻り値  0:カタカナOK! 1:カタカナ以外を含む
function c_katakana(sValue){
    var str_katakana = new String   ("アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォッャュョー（　）");

	var msg2;
	var i;
	//スペースを取り除く
	msg2 = sValue.replace(/ /g,"");
	for (var i = 0; i < sValue.length; i++) {
		if(str_katakana.indexOf(msg2.charAt(i),0) == -1){
			return 1;
		}
	}
	return 0;
}

//★---------------ひらがな・カタカナチェック
//★ 戻り値  0:ひらがな・カタカナOK! 1:ひらがな・カタカナ以外を含む
function c_hirakata(sValue){
    var str_hirakata = new String   ("あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉっゃゅょゐゑアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォッャュョー　");
	var msg2;
	var i;
	//スペースを取り除く
	msg2 = sValue.replace(/ /g,"");
	for (var i = 0; i < sValue.length; i++) {
		if(str_hirakata.indexOf(msg2.charAt(i),0) == -1){
			return 1;
		}
	}
	return 0;
}

//★---------------メールアドレスチェック
//★ 戻り値  0:メールアドレスOK! 1:メールアドレスが不適当
function c_email(sValue){
	if(sValue.match(/^(?:[0-9a-zA-Z.\-_]{1,})@(?:[0-9a-zA-Z\-]{1,})(?:[0-9a-zA-Z\-_.]{1,})(?:[0-9a-zA-Z\-]{1,})$/)){
		return 0;
	}else{
		return 1;
	}
}


//★---------------URLチェック
//★ 戻り値  0:URL　OK! 1:URLが不適当 2008/7/1 ノーチェックに仕様変更
function c_url(sValue){
	return 0;
//	if(sValue.match(/(http|https|ftp):\/\/[!#-9A-~]+\.+[a-z0-9]/i)){
//		return 0;
//	}else{
//		return 1;
//	}
}

//★---------------半角英数字チェック
//★ 戻り値  0:半角英数字OK! 1:半角英数字以外を含む
//★今回は、カンマ（1バイト）、スペース（1バイト）、アンダーバー（_）も許可するようにする。
function c_num_abc(sValue){
	str1 = sValue.replace(/ /g,"");
	str2 = str1.replace(/,/g,"");
	str = str2.replace(/_/g,"");
	for (i = 0; i < str.length; i++) {
	    ch = str.substring(i, i+1);
	    if (!((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z") || (ch >= "0" && ch <= "9"))) {
     		return 1;
	    }
	}
	return 0;
}
//★---------------半角数字チェック
//★ 戻り値  0:半角数字OK! 1:半角数字以外を含む
function c_num(sValue){
	if(sValue.match(/[^0-9]/)){
		return 1;
	}else{
		return 0;
	}
}

//★---------------日付チェック
//★ 戻り値  0:日付OK! 1:日付として適当でない
function c_date(sValue) {
	if (sValue.length != 8) {
		return 1;
	}
	var y=sValue.substring(0,4);
	var m=sValue.substring(4,6);
	var d=sValue.substring(6,8);
	if (isNaN(y) || isNaN(m) || isNaN(d)) {
		return 1;
	}else{
		if (m < 1 || m > 12) {
			return 1;
		}else{
			if (d<=0 || d>30+((m==4||m==6||m==9||m==11)?0:1) || (m==2&&d>28+(((y%4==0&&y%100!=0)||y%400==0)?1:0))) {
				return 1;
			}
		}
	}
	return 0;
}
