//是否為閏年
function __isLeapYear(year)
{
?if( ( year % 400 == 0) || (( year % 4 == 0) && (year % 100 != 0)) )
??return true;
?else
??return false;
}
//是否合法的日期?month 基于0
function __isLegalDate(year,month,day)
{
???? if(year < 1900 || year > 3000)
???? {
???? ?sError = "年份錯誤";
???? ?return false;
???? }
//???? if(month < 0 || month > 12)
? if(month <= 0 || month > 12)
???? {
???? ?sError = "月份不能小于1,也不能大于12";
???? ?return false;
???? }
???? if(day < 1)
???? {
???? ?sError = "日期不能小于1";
???? ?return false;
???? }
???? if (day > 31)
???? {
???? ?sError = "日期不能大于31";
???? ?return false;
???? }
???? if(month == 2)
???? {
???? ?if( __isLeapYear(year)? )
???? ?{
??????? ?if(day > 29)
??????? ?{
???????? ??sError = "閏年,2月份日期不能大于29";
???????? ??return false;
???????? ?}
??}
??else
??{
???if(day > 28)
???{
????sError = "非閏年,2月份日期不能大于28";
????return false;
???}
??}
?} else
?{
??var d1, m1=month;
??if(m1 > 7)
???m1 = m1 + 1;
??d1 = 30 + m1 % 2;
??if(day > d1)
??{
???sError = "該月日期不能大于" + d1 +"天";
???return false;
??}
?}
?return true;
}
//是否合法的月?
?
function __isLegalMonth(year,month)
{
???? if(year < 1900 || year > 3000)
???? {
???? ?sError = "年份錯誤";
???? ?return false;
???? }
? //if(month < 0 || month > 12)? //原來條件如果是200400則判斷不出錯誤
? if(month < 0 || month > 12 || month=="00"|| month=="0") //改正上面的錯誤
???? {
???? ?sError = "月份不能小于1,也不能大于12";
???? ?return false;
???? }
?return true;
}
//是否合法的年?
function __isLegalYear(year)
{
???? if(year < 1900 || year > 3000)
???? {
???? ?sError = "年份錯誤";
???? ?return false;
???? }
?return true;
}
//是否為合法時間
function __isLegalTime(hour, minute, second)
{
???? if(hour < 0 || hour > 23)
???? {
???? ?sError = "時鐘錯誤";
???? ?return false;
???? }
???? if(minute < 0 || minute > 59)
???? {
???? ?sError = "分鐘錯誤";
???? ?return false;
???? }
???? if (second < 0 || second > 59)
???? {
???? ?sError = "秒鐘錯誤";
???? ?return false;
???? }
?return true;
}
//判定是否為數字
function __isNum(s)
{
?var re = /^[0-9]+$/;
?return re.test(s);
}
//時候為浮點數
function __isFloat(s)
{
?if (__isNum(s)) return true;
?var re = /^[+|-]{0,1}\d*\.\d+$/;
?return re.test(s);
}
function _isEFloat(s)
{
??? var re = /^[+|-]{0,1}\d*\.[\.\d+]{0,1}\e[-|+]{0,1}\d+$/;
??? return re.test(s);
}
function __isQuoteIn(s)
{
?var re = /\"|\'|\“|\”|\‘|\’/;
?return re.test(s);
}
//得到當前時間
function getCurrentDate()
{
?var date = new Date();
?var year = ""+date.getFullYear();
?var month = date.getMonth()+1;
?if(month<10){ month="0"+month;}
?var day = date.getDate();
?if(day<10){ day = "0"+day;}
?return year+month+day;
}
?
//自定義函數
//取得字符串,去掉前后的空格
function Trim(str)??????
{???
?return str.replace(/(^\s*)|(\s*$)/g,"");
}
//判斷字符串是否為空
function isNull(str)????
{
?if (str == null || Trim(str) == "")
??return true;
?return false;
}
//判斷字符串是否為整數
function isInt(str)???
{
??? if(Trim(str) == "0")
???? return false;?
?var ch = str.substring(0,1);
?if (ch == "0" && Trim(str) != "0")
??return false;
?for (var i=0; i<str.length ; i++)
?{
??var s = str.substring(i, i+1);
??if (!(s >= "0" && s <="9"))
??{
???return true;
???break;
??}
?}
?return false;
}
//判斷是否是浮點數
function isFloat(strTest){
var reg;
reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
var r=strTest.match(reg);
? if(strTest=='0'){
? ?return true;
? ?}else if(r==null){
?//alert("no float data");
??????? return false;
??? }else{
??//alert(strTest + " is a float data");
??????? return true;????
??? }
? }
//判斷是否是正整數
function myIsInt(strTest){
var reg;
//reg=/^\+?[0-9]*[0-9][0-9]*$/;
reg=/^\+?[0-9]*[1-9][0-9]*$/;
var r=strTest.match(reg);
? if(r==null){
?//alert("no float data");
??????? return false;
??? }else{
??//alert(strTest + " is a float data");
??????? return true;????
??? }
? }