/**使用方法:
*第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例如:xiaoxuesong@30san.com"
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;
}