/**使用方法:
*第1步:拷貝下面的代碼到需要校驗的頁面:
*<script src="../js/DataValidate.js" language="javascript"></script>
*第2步:
*1)對要校驗的控件添加需要的校驗屬性,如:<input type="text" allownull="false" maxlength="13" dtype="tel" des="電話號碼">
* 其中allownull,maxlength,dtype,compare,des爲需要自己添加的校驗屬性。
* allownull取值:true—Input允許爲空;false—不允許爲空
* maxlength取值:表示Input允許輸入的最大長度;
* dtype代表Input只能輸入的數據格式,取值:
* number-數字格式,
* date-日期格式,
* datetime-時間格式,
* tel-電話號碼格式,
* email-電子郵件格式,
* float-小數
* xq-刑期
* age-年齡格式
* year-日期年份格式
* integerdigits當dtype=float時使用,表示整數位數,默認爲13
* decimaldigits當dtype=float時使用,表示小數位數,默認爲2
* compare當dtype=date時使用,取值:+curdate-大於等於當前日期;-curdate-小於等於當前日期
* sysdate當compare不爲空時使用,其值爲web服務器的當前時間(可用Tools.getDateString()方法獲得),格式爲yyyy-mm-dd
* 如:<input type="text" allownull="false" dtype="date" compare="-curdate" sysdate="2006-02-16" des="受理日期">
*第3步:設置提交按鈕onClick="checkFormData();"。
*/
/**
* 是否是日期的檢查(日期格式爲"yyyy-mm-dd")
* 格式:年必須輸入四位數且必須在1900年以後;月日時分秒要麼輸入兩個數字,要麼輸入一個數字;
* @param dateStr 被檢查的字符串
* @return true(是日期格式"yyyy-mm-dd"); false(不是日期格式"yyyy-mm-dd")
*/
function isDate(dateStr) {
var re = /^/d{4}-/d{1,2}-/d{1,2}$/;
var r = dateStr.match(re);
if (r == null) {
return false;
}
else {
var s = dateStr.split("-");
if (s[0].substring(0,2) < 19 || s[1] > 12 || s[1] < 1 || s[2] > 31 || s[2] < 1) {
return false;
}
if ((s[1] == 4 || s[1] == 6 || s[1] == 9 || s[1] == 11) && s[2] == 31) {//月小
return false;
}
if (((s[0] % 4 == 0) && (s[0] % 100 != 0)) || (s[0] % 400 == 0)) { //是閏年
if (s[1] == 2 && s[2] > 29) {
return false;
}
}
else {//不是閏年
if (s[1] == 2 && s[2]>28) {
return false;
}
}
}
return true;
}
/**
* 是否是日期的檢查(日期格式爲"yyyy-mm-dd hh:mm:ss")
* 格式:年必須輸入四位數且必須在1900年以後;月日時分秒要麼輸入兩個數字,要麼輸入一個數字;
* @param dateStr 被檢查的字符串
* @return true(是日期格式"yyyy-mm-dd hh:mm:ss"); false(不是日期格式"yyyy-mm-dd hh:mm:ss")
*/
function isDateTime(dateStr) {
dateStr = combChar(dateStr, " ");
var re = /^(/d{4})/-(/d{1,2})/-(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/;
var r = dateStr.match(re);
if (r == null) {
return false;
}
else {
var str = dateStr.split(" ");
var s = str[0].split("-");
var strTime = str[1].split(":");
if (s[0].substring(0,2) < 19 || s[1] > 12 || s[1] < 1 || s[2] > 31 || s[2] < 1) {
return false;
}
if ((s[1] == 4 || s[1] == 6 || s[1] == 9 || s[1] == 11) && s[2] == 31) {//月小
return false;
}
if (((s[0] % 4 == 0) && (s[0] % 100 != 0)) || (s[0] % 400 == 0)) { //是閏年
if (s[1] == 2 && s[2] > 29) {
return false;
}
}
else {//不是閏年
if (s[1] == 2 && s[2]>28) {
return false;
}
}
if (strTime[0] > 23 || strTime[1] > 59 || strTime[2] > 59 ) {
return false;
}
}
return true;
}
/**
* 判斷日期dateStr1是否小於日期dateStr2的(日期格式爲"yyyy-mm-dd")
* 格式:年必須輸入四位數且必須在1900年以後;月日要麼輸入兩個數字,要麼輸入一個數字;
* @param dateStr1 第一個字符串
* @param dateStr2 第二個的字符串
* @return null(dateStr1格式不對或dateStr2格式不對); true(dateStr1 < dateStr2); false(dateStr1 >= dateStr2)
*/
function isBeforeDate(dateStr1, dateStr2) {
if (!isDate(dateStr1) || !isDate(dateStr1)) {
return null;
}
var s1 = dateStr1.split("-");
var s2 = dateStr2.split("-");
//強制轉換成數字
var i=0;
for (i=0;i<3 ;i++ )
{
s1[i]=s1[i]+0;
s2[i]=s2[i]+0;
}
if (s1[0] < s2[0]) {//年小於
return true;
}
else if (s1[0] == s2[0]) {//年相等
if (s1[1] < s2[1]) {//月小於
return true;
}else if (s1[1] == s2[1]) {//月相等
if (s1[2] < s2[2]) {//日小於
return true;
}
}
}
return false;
}
/**
* 判斷日期dateStr1是否等於日期dateStr2的(日期格式爲"yyyy-mm-dd")
* 格式:年必須輸入四位數且必須在1900年以後;月日要麼輸入兩個數字,要麼輸入一個數字;
* @param dateStr1 第一個字符串
* @param dateStr2 第二個的字符串
* @return null(dateStr1格式不對或dateStr2格式不對); true(dateStr1 = dateStr2); false(dateStr1 != dateStr2)
*/
function isEqualDate(dateStr1, dateStr2) {
if (!isDate(dateStr1) || !isDate(dateStr1)) {
return null;
}
var s1 = dateStr1.split("-");
var s2 = dateStr2.split("-");
if (s1[0] != s2[0]) {//年不相等
return false;
}
else {//年相等
if (s1[1].charAt(0) == '0') {
s1[1] = "" + s1[1].charAt(1);
}
if (s2[1].charAt(0) == '0') {
s2[1] = "" + s2[1].charAt(1);
}
if (s1[1] != s2[1]) {//月不相等
return false;
}
else {//月相等
if (s1[2].charAt(0) == '0') {
s1[2] = "" + s1[2].charAt(1);
}
if (s2[2].charAt(0) == '0') {
s2[2] = "" + s2[2].charAt(1);
}
if (s1[2] != s2[2]) {//日不相等
return false;
}
}
}
return true;
}
/**
* 判斷日期dateStr1是否小於日期dateStr2的(日期格式爲"yyyy-mm-dd hh:mm:ss")
* 格式:年必須輸入四位數且必須在1900年以後;月日時分秒要麼輸入兩個數字,要麼輸入一個數字;
* @param dateStr1 第一個字符串
* @param dateStr2 第二個的字符串
* @return null(dateStr1格式不對或dateStr2格式不對); true(dateStr1 < dateStr2); false(dateStr1 >= dateStr2)
*/
function isBeforeDateTime(dateStr1, dateStr2) {
if (!isDateTime(dateStr1) || !isDateTime(dateStr1)) {
return null;
}
var s1 = dateStr1.split(" ");
var s2 = dateStr2.split(" ");
if (isBeforeDate(s1[0], s2[0])) {//年月日小於
return true;
}
else if (isEqualDate(s1[0], s2[0])) {//年月日相等
var strTime1 = s1[1].split(":");
var strTime2 = s2[1].split(":");
if (strTime1[0].charAt(0) == '0') {
strTime1[0] = "" + strTime1[0].charAt(1);
}
if (strTime2[0].charAt(0) == '0') {
strTime2[0] = "" + strTime2[0].charAt(1);
}
if (strTime1[0] < strTime2[0]) {//小時小於
return true;
}
else if (strTime1[0] == strTime2[0]) {//小時相等
if (strTime1[1].charAt(0) == '0') {
strTime1[1] = "" + strTime1[1].charAt(1);
}
if (strTime2[1].charAt(0) == '0') {
strTime2[1] = "" + strTime2[1].charAt(1);
}
if (strTime1[1] < strTime2[1]) {//分小於
return true;
}
else if (strTime1[1] == strTime2[1]) {//分相等
if (strTime1[2].charAt(0) == '0') {
strTime1[2] = "" + strTime1[2].charAt(1);
}
if (strTime2[2].charAt(0) == '0') {
strTime2[2] = "" + strTime2[2].charAt(1);
}
if (strTime1[2] < strTime2[2]) {//秒小於
return true;
}
}
}
}
return false;
}
/**
* 判斷日期dateStr1是否等於日期dateStr2的(日期格式爲"yyyy-mm-dd hh:mm:ss")
* 格式:年必須輸入四位數且必須在1900年以後;月日時分秒要麼輸入兩個數字,要麼輸入一個數字;
* @param dateStr1 第一個字符串
* @param dateStr2 第二個的字符串
* @return null(dateStr1格式不對或dateStr2格式不對); true(dateStr1 = dateStr2); false(dateStr1 != dateStr2)
*/
function isEqualDateTime(dateStr1, dateStr2) {
if (!isDateTime(dateStr1) || !isDateTime(dateStr1)) {
return null;
}
var s1 = dateStr1.split(" ");
var s2 = dateStr2.split(" ");
if (isEqualDate(s1[0], s2[0])) {//年月日相等
var strTime1 = s1[1].split(":");
var strTime2 = s2[1].split(":");
if (strTime1[0].charAt(0) == '0') {
strTime1[0] = "" + strTime1[0].charAt(1);
}
if (strTime2[0].charAt(0) == '0') {
strTime2[0] = "" + strTime2[0].charAt(1);
}
if (strTime1[0] == strTime2[0]) {//小時相等
if (strTime1[1].charAt(0) == '0') {
strTime1[1] = "" + strTime1[1].charAt(1);
}
if (strTime2[1].charAt(0) == '0') {
strTime2[1] = "" + strTime2[1].charAt(1);
}
if (strTime1[1] == strTime2[1]) {//分相等
if (strTime1[2].charAt(0) == '0') {
strTime1[2] = "" + strTime1[2].charAt(1);
}
if (strTime2[2].charAt(0) == '0') {
strTime2[2] = "" + strTime2[2].charAt(1);
}
if (strTime1[2] == strTime2[2]) {//秒相等
return true;
}
}
}
}
return false;
}
/*
獲得本機當前日期,格式YYYY-MM-DD
*/
function getLocalCurDate()
{
var fun_dt = new Date();
var fun_month = eval(1+fun_dt.getMonth());
var fun_day = fun_dt.getDate();
if(fun_month < 10) fun_month = "0"+fun_month;
if(fun_day < 10) fun_day = "0"+fun_day;
var fun_ds = fun_dt.getFullYear()+"-"+fun_month+"-"+fun_day;
return fun_ds;
}
/**
* 檢測是否是數字(正浮點型)
* @param str 被檢查的字符串
* @param inummax整數位數
* @param dnummax小數位數
* @return true; false
*/
function isFloat(str,inummax,dnummax) {
var Letters = "0123456789";
var dotNum = 0;
var dnum = 0;
var inum = 0;
for (i = 0; i < str.length; i++) {
var checkChar = str.charAt(i);
if (Letters.indexOf(checkChar) == -1) {
if (checkChar == '.') {
dotNum++;
if (dotNum > 1) {
return false;
}
continue;
}
return false;
}else if (dotNum==1){
//小數位數
dnum++;
if (dnum>dnummax){
return false;
}
}else{
//整數位數
inum++;
if (inum>inummax){
return false;
}
}
}
return true;
}
/**
* 檢測是否是數字(正整型)
* @param str 被檢查的字符串
* @return true; false
*/
function isNumber(str) {
var Letters = "0123456789";
if(str.length==0)
return false
for (i = 0; i < str.length; i++) {
var checkChar = str.charAt(i);
if (Letters.indexOf(checkChar) == -1)
return false;
}
return true;
}
//2004年
//校驗輸入是否是電話號碼正確!
function isTel(telStr)
{
var No="0123456789()+-";
if(telStr.length==0)
return false;
for(i=0;i<telStr.length;i++)
{
var Checkstr=telStr.charAt(i);
if(No.indexOf(Checkstr)==-1)
return false;
}
return true;
}
//校驗register.email是否正確
function isEmail(strEmail)
{
if(strEmail.length=0)
return false;
if(strEmail.charAt(0)=="."||
strEmail.charAt(0)=="@"||
strEmail.indexOf('@',0)==-1||
strEmail.indexOf('.',0)==-1||
strEmail.lastIndexOf('@')==
strEmail.length-1 ||
strEmail.lastIndexOf('.')==
strEmail.length-1 )
return false;
return true;
}
/**
* 檢測是否是英文字母
* @param str 被檢查的字符串
* @return true; false
*/
function isEnglish(str) {
var Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for (i = 0; i < str.length; i++) {
var checkChar = str.charAt(i);
if (Letters.indexOf(checkChar) == -1) {
return false;
}
}
return true;
}
/**
* 檢測是否是合法的名字(字母,數字,下劃線,且第一個字符不能爲數字)
* @param str 被檢查的字符串
* @return true; false
*/
function isValidName(str) {
var Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
for (i = 0; i < str.length; i++) {
var checkChar = str.charAt(i);
if (Letters.indexOf(checkChar) == -1) {
return true;
}
if (i == 0 && isNumber(checkChar)) {
return false;
}
}
return false;
}
/**
* 判斷字符長度
* @param str 被檢查的字符串
* @return 檢查字符串的長度
*/
function getStrLength(str) {
var len = str.length;
for (i = 0; i < len; i++) {
if (str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255) {
len++;
}
}
return len;
}
/**
* 判斷字符串是否爲空
* @param str 被檢查的字符串
* @return true;false
*/
function isNull(str) {
if (str == null || str == "") {
return true;
}
else {
return false;
}
}
/*********************************************
* 功能:刪除輸入字符串中的空格左邊和右邊的中英文空格字符串
* 參數:str - 要刪除空格的字符串
* 返回值:刪除空格後的字符串
**********************************************/
function trim(str)
{
var tempStr = "";
var lenth = str.length;
for(var fun_i=0;fun_i<lenth;fun_i++)
{
if(str.charAt(fun_i)!=" "&&str.charAt(fun_i)!=" ")
{
tempStr = str.substring(fun_i,lenth);
break;
}
}
lenth = tempStr.length;
for(var fun_j=lenth-1;fun_j>=0;fun_j--)
{
var dd = tempStr.charAt(fun_j);
if(dd!=" "&&dd!=" ")
{
tempStr=tempStr.substring(0,fun_j + 1);
break;
}
}
return tempStr;
}
/**
* 合併緊挨着的相同的字符
* @param str 被合併的字符串
* @param strChar 字符
* @return 完成合並後的字符串
*/
function combChar(str, strChar) {
if (strChar == null || strChar == "") {
return str;
}
var len = str.length;
var index = 0;//上次匹配的地方
var isFirst = "false";//第一個字符開始的子串是否與strChar匹配
for (i = 0; i < len; i++) {
if (strChar.length > (len - i)) {
break;
}
var strTemp = str.substring(i, i + strChar.length);
if (strTemp == strChar) {
if (i == 0) {
isFirst = "true";
}
//如果這次匹配與上次匹配是連續匹配
if (index == (i - strChar.length)) {
//如果上次匹配的地方不爲0,或者上次匹配的地方是第一個字符,纔是連續匹配
if (index != 0 || isFirst == "true") {
str = str.substring(0,index) + str.substring(index + strChar.length);
len = len - strChar.length;
i = i - strChar.length;
}
}
index = i;
i = i + strChar.length - 1;
}
else {
index = 0;
}
}
return str;
}
/**
* 用來校驗頁面上所有的type=text的input類型
* 判斷:null、length、type
*/
function checkinput(){
var obj;
var oobj;
var j;
var value;
var des;
var allownull;
var allowlength;
var len;
var type;
var dtype;
var comp;
var compcur;
var compret;
var decimaldigits;
var integerdigits;
obj = document.getElementsByTagName("input");
for(j=0;j<obj.length;j++){
oobj=obj(j)
type=oobj.type
if(!(type=="text"||type=="password")){
continue;
}
des=oobj.des;
if(des==null){
des="";
}
value=oobj.value;
if(value==null){
value="";
}
//check null
allownull=oobj.allownull;
if(allownull!=null){
if(allownull=="false"){
if(value==""){
alert(des+"不能爲空!");
oobj.focus();
return false;
}
}
}
//check datatype
dtype=oobj.dtype;
if(dtype!=null&&value!=""){
res=true;
msg="";
if(dtype=="number"){
msg=des+"輸入格式應該爲數字格式!/r/n";
res=isNumber(value);
}else if(dtype=="age"){
//檢務保障項目中用來判斷輸入的年齡是否有效
if(value<16){
msg="年齡應該大於16歲!";
res=false;
}else if(value>70){
msg="年齡應該小於70歲!";
res=false;
}
}
else if(dtype=="float"){
decimaldigits=oobj.decimaldigits;//小數位數默認=2
if (decimaldigits==null||decimaldigits==""){
decimaldigits=2;
}
integerdigits=oobj.integerdigits;//整數位數默認=13
if (integerdigits==null||integerdigits==""){
integerdigits=13;
}
msg=des+"輸入格式應該爲小數格式!/r/n"+"整數位數爲"+integerdigits+"小數位數爲"+decimaldigits+"位";
res=isFloat(value,integerdigits,decimaldigits);
}else if(dtype=="date"){
msg=des+"輸入格式應該爲日期格式!/r/n例如:2004-10-09";
res=isDate(value);
if (res){
comp=oobj.compare;//判斷兩種常規的日期比較方式
compcur=oobj.sysdate;//獲取系統日期,如果沒有則取客戶端日期
if (compcur==null||compcur=="") compcur=getLocalCurDate();
if (comp!=null&&comp=="+curdate"){
//大於等於當前日期
res=isBeforeDate(compcur,value)||isEqualDate(compcur,value);
if (!res) {
msg=des+"輸入值應該大於等於當前日期!";
}
}else if (comp!=null&&comp=="-curdate"){
//小於等於當前日期
res=isBeforeDate(value,compcur)||isEqualDate(compcur,value);
if (!res) {
msg=des+"輸入值應該小於等於當前日期!";
}
}
}
}else if(dtype=="datetime"){
msg=des+"輸入格式應該爲時間格式!/r/n例如:2004-10-9 11:30:00";
res=isDateTime(value);
}else if(dtype=="tel"){
msg=des+"輸入格式應該爲電話號碼格式!/r/n例如:028-85169412";
res=isTel(value);
}else if(dtype=="email"){
msg=des+"輸入格式應該爲電子郵件格式!/r/n例如:[email protected]"
res=isEmail(value)
}else if(dtype=="xq"){
msg=des+"輸入格式應該爲YYMMDD,且YY年份不能超過20年,MM月份不能超過12個月,DD日期不能超過31天!/r/n例如:010600一年零6個月"
res=isXQ(value)
}else if(dtype=="year"){
msg=des+"輸入格式應該爲日期年份格式,年必須輸入四位數且必須在1900年以後!/r/n例如:2007";
res=isYear(value);
}
if(!res){
alert(msg);
oobj.focus();
oobj.select();
return false;
}
}
//check length
allowlength=oobj.maxlength;
if (allowlength==null)
{
allowlength=oobj.maxLength;
}
if(allowlength!=null){
allowlen=parseInt(allowlength);
len=getStrLength(value);
if(!isNaN(allowlen)){
if(allowlen<len){
alert(des+"輸入長度最多隻能爲"+allowlength+"個字節("+parseInt(allowlength/2)+"個漢字)!")
oobj.focus();
return false;
}
}
}
//end for
}
return true;
}
/**
* 用來校驗頁面上所有的textarea
* 判斷:null、length
*/
function checktextarea(){
var obj;
var oobj;
var jj;
var value;
var des;
var allownull;
var allowlength;
var len;
obj = document.getElementsByTagName("textarea");
for( jj=0;jj<obj.length;jj++){
oobj=obj(jj);
des=oobj.des;
if(des==null){
des="";
}
value=oobj.value;
if(value==null){
value="";
}
//check null
allownull=oobj.allownull;
if(allownull!=null){
if(allownull=="false"){
if(value==""){
alert(des+"不能爲空!")
oobj.focus();
return false;
}
}
}
//check length
allowlength=oobj.maxlength;
if (allowlength==null)
{
allowlength=oobj.maxLength;
}
if(allowlength!=null){
allowlen=parseInt(allowlength);
len=getStrLength(value);
if(!isNaN(allowlen)){
if(allowlen<len){
alert(des+"輸入長度最多隻能爲"+allowlength+"個字節("+parseInt(allowlength/2)+"個漢字)!")
oobj.focus();
return false;
}
}
}
}
return true;
}
/**
* 用來校驗頁面上所有的select
* 判斷:null
*/
function checkselect(){
var obj;
var oobj;
var jj;
var value;
var des;
var allownull;
obj = document.getElementsByTagName("select");
for( jj=0;jj<obj.length;jj++){
//取提示
oobj=obj(jj);
des=oobj.des;
if(des==null){
des="";
}
value="";
try{
value=oobj.options[oobj.selectedIndex].value;
}catch(e){
}
if(value==null){
value="";
}
//check null
allownull=oobj.allownull;
if(allownull!=null){
if(allownull=="false"){
if(value==""){
alert(des+"不能爲空!");
oobj.focus();
return false;
}
}
}
}
return true;
}
/**
* 用來校驗頁面上所有的type=text的input、所有的textarea、select
*/
function checkFormData()
{
var res;
res=checkinput();
if(!res){
return false;
}
res=checktextarea();
if(!res){
return false;
}
return checkselect();
}
/**
*通過出生日期計算當前年齡
* 出生日期必須小於當前日期,否則計算出錯。
*birthDate出生日期
*/
function getAge(birthDate){
var curDate = new Date();//當前時間
var s = birthDate.split("-");
var birDate = new Date(s[0],s[1]-1,s[2]);
var byear = birDate.getYear();
if(byear < 2000) byear = byear+1900;
var year = curDate.getYear()-byear
var month = curDate.getMonth()-birDate.getMonth();
var day = curDate.getDate()-birDate.getDate();
if((month < 0) || (month==0 && day < 0)){
year = year-1;
}
// var datediff = Math.abs(curDate.valueOf()- birDate.valueOf())/(365*24*60*60*1000);
// return Math.floor(datediff);
return year;
}
/**
*數組初始化
*例如:var MyArray= new initArray(17,18,19);
* for(var i=0; i<MyArray.length; i++) alert(MyArray[i]);
*/
function initArray() {
this.length = initArray.arguments.length
for (var i = 0; i < this.length; i++)
this[i] = initArray.arguments[i];
}
/**
*檢查日期的先後順序
*dateInput爲日期input的id字符串構成的數組,排列順序:從小到大
*調用示例:var MyArray= new initArray("date1","date2","date3");
* checkDateOrder(MyArray);
*/
function checkDateOrder(dateInput){
//參數驗證
if (dateInput == null)
{
return true;
}
if (dateInput.length == null)
{
return true;
}
if (dateInput.length == 1)
{
return true;
}
var obj1,obj2;
for (var i=0;i<dateInput.length;i++){
obj1=document.all(dateInput[i]);
if (obj1==null) continue;
if (trim(obj1.value)=="") continue;
for (var j=i+1;j<dateInput.length;j++){
obj2=document.all(dateInput[j]);
if (obj2==null) continue;
if (trim(obj2.value)=="") continue;
if (isEqualDate(obj1.value,obj2.value)||isBeforeDate(obj1.value,obj2.value)) break;
alert(obj2.des+"應大於"+obj1.des);
return false;
}
}
return true;
}
//校驗輸入身份證是否正確!
function isIDCard(idStr)
{
var No="0123456789Xx";
if(idStr.length==0) return true;
if(trim(idStr)=="身份不明"||trim(idStr)=="無身份證") return true;
var sgjdm="156";
try{
if (document.all.gjdm.value !="") sgjdm=document.all.gjdm.value;
}catch(e){
}
if (sgjdm=="156")
{
if(idStr.length!=15&&idStr.length!=18) {
alert("身份證號碼應爲15位或18位");
return false;
}
for(i=0;i<idStr.length;i++){
var Checkstr=idStr.charAt(i);
if(No.indexOf(Checkstr)==-1){
alert("身份證號碼應爲數字,字符 "+Checkstr+" 無效。");
return false;
}
}
}
return true;
}
//取當月最後一天
function getlastday(month, year) {
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { //是閏年
if (month == 2) {
return 29;
}
}
else {//不是閏年
if (month == 1 ||month == 3 ||month == 5 ||month == 7 ||month == 8 ||month == 10 ||month == 12 ) {
return 31;
}else if(month == 2){
return 28;
}else{
return 30;
}
}
}
/**
* 是否是日期年份的檢查(日期年份格式爲"yyyy")
* 格式:年必須輸入四位數且必須在1900年以後;
* @param yearStr 被檢查的字符串;
* @return true(是日期年份格式"yyyy"); false(不是日期年份格式"yyyy")
*/
function isYear(yearStr) {
var re = /^/d{4}$/;
var r = yearStr.match(re);
if (r == null) {
return false;
}
else {
var s = yearStr;
if (s.substring(0,2) < 19 ) {
return false;
}
}
return true;
}