

function ChkId(id, str)	//Id,提示字串
{
	reg = /^[0-9a-zA-Z]*$/;

	msg = '';
	if(!id.match(reg))	msg += (str + '應為0~9,a~z,A~Z組成,且不可為全形字\n');

	return msg;
}

function ChkNum(num, str)	//num,提示字串,檢查是否為數字
{
	reg = /^[0-9]*$/;

	msg = '';
	if(!num.match(reg))	msg += (str + '應為0~9組成,且不可為全形字\n');
        if(num.substring(4,6)>12||num.substring(4,6)<1) msg += (str + '月份應小於12大於0\n');
        if(num.substring(6,8)>31||num.substring(6,8)<1) msg += (str + '日期應小於31大於0\n');

	return msg;
}

function ChkEMail(email)	//E-mail
{
	reg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

	msg = ''
	if (''!=email && !email.match(reg))	msg += 'Email不正確!\n';

	return msg;
}

function ChkTEL(tel1,tel2,str)	//區域號碼,電話號碼,提示字串
{
	//僅國內+手機
	reg1 = /^0[0-9]$|^0[0-9][0-9]$/;	//區碼
	//reg2 = /^[0-9]{6,8}(#[0-9]+){0,1}$/;	//電話
	reg2 = /^[0-9#-]*$/	//電話
	reg3 = /^[0-9]{10}$/;	//手機
	msg = ''
	if (''!=tel1 && !tel1.match(reg1))	msg += str+'區域號碼為兩位或三位數字,首字為0\n'
	if (''!=tel2 && !tel2.match(reg2) && !tel2.match(reg3))	msg +=str+'號碼不合理!\n';
        //if (tel2.length<6)   msg += str+'號碼長度不對\n'
	return msg;
}

function ChkCellTEL(tel1,str)	//區域號碼,手機號碼,提示字串
{
	//手機
	reg1 = /^0[0-9]$|^0[0-9][0-9][0-9]$/;	//區碼
	//reg2 = /^[0-9]{6,8}(#[0-9]+){0,1}$/;	//電話
	reg2 = /^[0-9#-]*$/	//電話
	reg3 = /^[0-9]{10}$/;	//手機
	msg = ''
	if (!tel1.match(reg3))	msg +=str+'號碼不可!\n';
    if (tel1.length<10)   msg += str+'號碼長度不對\n';
	return msg;
}

function ChkFax(fax1,fax2)	//區域號碼,傳真號碼
{
	//僅國內
	reg1 = /^0[0-9]$/;	//區碼
	reg2 = /^[0-9]{6,8}$/;	//傳真號碼

	msg = ''
	if (''!=fax1 && !fax1.match(reg1))	msg += '區域號碼為兩位數字,首字為0\n'
	if (''!=fax2 && !fax2.match(reg2))	msg += '傳真號碼不合理!\n';

	return msg;
}

function chkDate(a, b) {
	var msg = '';
	msg = ChkDate(a, b);
	if (msg != '') {
		alert(msg);
		a.value = '';
	}
}

function ChkDate(DateStr, str)	//日期obj,提示字串
{
	var tmp = DateStr.value;

	var msg = '';

	//日期格式
	if (10==DateStr.value.length && '/'==DateStr.value.substr(4,1) && '/'==DateStr.value.substr(7,1))
	{
		DateStr.value = DateStr.value.substr(0,4) + DateStr.value.substr(5,2) + DateStr.value.substr(8,2);
	}
	if ((8!=DateStr.value.length && 0!=DateStr.value.length) || isNaN(DateStr.value))	msg += (str + '格式應為yyyy/mm/dd,且y,m,d須為數字\n');


	if (msg)
	{
		DateStr.value = tmp;
		return msg;
	}
	else
	{
		if (''!=tmp)
		{
			DateStr.value = DateStr.value.substr(0,4)+'/'+DateStr.value.substr(4,2)+'/'+DateStr.value.substr(6,2);
		}
	}

	//日期合理性
	if (''!=DateStr.value)
	{
		var monthday = new Array(29,31,28,31,30,31,30,31,31,30,31,30,31);

		var cy = parseInt(DateStr.value.substr(0,4));

                var cm = '';

		var cd = '';

		//這邊不用cm = parseInt(DateStr.value.substr(5,2))的原因
		//當cm = 8,9的時候,只會抓到0...
		if ('0'==DateStr.value.substr(5,1))
		{
			cm = DateStr.value.substr(6,1);
		}
		else
		{
			cm = DateStr.value.substr(5,2);
		}
		//這邊不用cd = parseInt(DateStr.value.substr(8,2))的原因同cm
		if ('0'!=DateStr.value.substr(8,1))
		{
		        cd = DateStr.value.substr(8,2);
		}
		else
		{
		        cd = DateStr.value.substr(9,1);
		}


		if (12<cm || 1>cm)
		{
			msg += (str + '沒有 '+cm+' 月\n');
		}
		else
		{
			if (2==cm && ((0==cy%4 && 0!=cy%100) || 0==cy%400))	//閏月
			{
				if (cd>monthday[0])
				{
					msg += (str + ' ' +cy+' 年 '+cm+' 月沒有 '+cd+' 號\n');
				}
			}
			else
			{
				if (cd>monthday[cm])
				{
					msg += (str + ' ' +cy+' 年 '+cm+' 月沒有 '+cd+' 號\n');
				}
			}
		}


		if (cy == '0000')  {
		    msg += (str + ' ' + '不合理，請重新輸入 \n');
		}
		else if (cd == '0')  {
		    msg += (str + ' ' + '不合理，請重新輸入 \n');
		}


	}

	return msg;
}

