<script language=javascript>
function replace(str, oldStr, newStr) {
var buffer = "" ;
var length = oldStr.length;
var beginIndex = 0;
if (length > 0) {
index = str.indexOf(oldStr);
while (index >= 0) {
buffer = buffer + str.substring(beginIndex, index);
buffer = buffer + newStr;
beginIndex = index + length;
index = str.indexOf(oldStr, beginIndex);
}
}
buffer = buffer + str.substring(beginIndex);
return buffer ;
}
function checkdate(str) {
var datestr =str;
var lthdatestr=str.length ;
var tmpy="";
var tmpm="";
var tmpd="";
var status;
status=0;
var status1;
status1=0;
if (datestr=="") return true; for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '/') {
status++;
}
}
if (status>2||status==1) {
return false;
}
for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '-') {
status1++;
}
}
if (status1>2||status1==1) {
return false;
}
status=0;
datestr = replace(datestr, "-", "/") if (lthdatestr== 0) {
return false;
}
for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '/') {
status++;
}
if (status>2) {
return false;
} if ((status==0) && (datestr.charAt(i)!='/')) {
tmpy=tmpy+datestr.charAt(i)
}
if ((status==1) && (datestr.charAt(i)!='/')) {
tmpm=tmpm+datestr.charAt(i)
}
if ((status==2) && (datestr.charAt(i)!='/')) {
tmpd=tmpd+datestr.charAt(i)
}
}
year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd)
if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2)) {
return false;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) ) {
return false;
}
if (!((year % 4)==0) && (month==2) && (day==29)) {
return false;
}
if ((month<=7) && ((month % 2)==0) && (day>=31)) {
return false;
}
if ((month>=8) && ((month % 2)==1) && (day>=31)) {
return false;
}
if ((month==2) && (day==30)) {
return false;
}
return true;
}
</script>调用checkdate(要验证的日期字符串)
验证通过返回true,否则返回false
function replace(str, oldStr, newStr) {
var buffer = "" ;
var length = oldStr.length;
var beginIndex = 0;
if (length > 0) {
index = str.indexOf(oldStr);
while (index >= 0) {
buffer = buffer + str.substring(beginIndex, index);
buffer = buffer + newStr;
beginIndex = index + length;
index = str.indexOf(oldStr, beginIndex);
}
}
buffer = buffer + str.substring(beginIndex);
return buffer ;
}
function checkdate(str) {
var datestr =str;
var lthdatestr=str.length ;
var tmpy="";
var tmpm="";
var tmpd="";
var status;
status=0;
var status1;
status1=0;
if (datestr=="") return true; for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '/') {
status++;
}
}
if (status>2||status==1) {
return false;
}
for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '-') {
status1++;
}
}
if (status1>2||status1==1) {
return false;
}
status=0;
datestr = replace(datestr, "-", "/") if (lthdatestr== 0) {
return false;
}
for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '/') {
status++;
}
if (status>2) {
return false;
} if ((status==0) && (datestr.charAt(i)!='/')) {
tmpy=tmpy+datestr.charAt(i)
}
if ((status==1) && (datestr.charAt(i)!='/')) {
tmpm=tmpm+datestr.charAt(i)
}
if ((status==2) && (datestr.charAt(i)!='/')) {
tmpd=tmpd+datestr.charAt(i)
}
}
year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd)
if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2)) {
return false;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) ) {
return false;
}
if (!((year % 4)==0) && (month==2) && (day==29)) {
return false;
}
if ((month<=7) && ((month % 2)==0) && (day>=31)) {
return false;
}
if ((month>=8) && ((month % 2)==1) && (day>=31)) {
return false;
}
if ((month==2) && (day==30)) {
return false;
}
return true;
}
</script>调用checkdate(要验证的日期字符串)
验证通过返回true,否则返回false
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货