只有 vbscript的,没写js
<script language="VBScript">
function SYearblur(frmname)
BSYear = frmname.SYear.value
if (not isNumeric(BSYear)) and BSYear <> ""then
msgbox "请输入正确年份!"
frmname.SYear.value = ""
frmname.SYear.focus
exit function
elseif BSYear = "" then
exit function
end if
BSYear = cint(BSYear)
if BSYear < 2000 then
msgbox "现在都已经2001年啦!"
frmname.SYear.value = ""
frmname.SYear.focus
exit function
end if
if BSYear > 2100 then
msgbox "现在已经23世纪啦?这个版本已经不能用了,你再编一个新版本的吧!"
frmname.SYear.value = ""
frmname.SYear.focus
end if
end functionfunction SMonthfocus(frmname)
if frmname.SYear.value = "" then
frmname.SYear.focus
end if
end function
function SMonthblur(frmname)
BSMonth = frmname.SMonth.value
if (not isNumeric(BSMonth)) or BSMonth = "" then
frmname.SMonth.value = ""
exit function
end if
BSMonth = cint(BSMonth)
if BSMonth < 1 then
frmname.SMonth.value = ""
exit function
end if
if BSMonth > 12 then
frmname.SMonth.value = ""
exit function
end if
frmname.SMonth.value = BSMonth
end functionfunction SYearchange(frmname)
frmname.SDay.value = ""
end functionfunction SMonthchange(frmname)
frmname.SDay.value = ""
end functionfunction SDayfocus(frmname)
if frmname.SMonth.value="" then
frmname.SMonth.focus
end if
end functionfunction SDayblur(frmname)
d = frmname.SDay.value
if (not isNumeric(d)) or d = "" then
frmname.SDay.value = ""
exit function
end if
d = cint(d)
m = frmname.SMonth.value
y = frmname.SYear.valueMaxD = DaysInMonth(m,y)
if d < 1 or d > MaxD then
frmname.SDay.value = ""
exit function
end if
frmname.SDay.value = d
end functionfunction DaysInMonth(m,y)
if isNumeric(m) and m <> "" and isNumeric(y) and y <> "" then
m = cint(m)
y = cint(y) if m>0 and m<13 and y>1999 and y<2101 then
pn = y mod 4
select case m
case 1,3,5,7,8,10,12
DaysInMonth = 31
case 2
if pn<>0 then
DaysInMonth = 28
else
DaysInMonth = 29
end if
case 4,6,9,11
DaysInMonth = 30
end select
exit function
end if
end if
DaysInMonth = 30
end function
</script>
请输入时间:
<input type="text" name="SYear" maxlength="4" size="4" onchange="SYearchange(searthbydt)" onBlur="SYearblur(searthbydt);">
年
<input type="text" name="SMonth" maxlength="2" size="2" onchange="SMonthchange(searthbydt)" onFocus="SMonthfocus(searthbydt);" onBlur="SMonthblur(searthbydt);">
月
<input type="text" name="SDay" maxlength="2" size="2" onFocus="SDayfocus(searthbydt); " onBlur="SDayblur(searthbydt);">
日
<script language="VBScript">
function SYearblur(frmname)
BSYear = frmname.SYear.value
if (not isNumeric(BSYear)) and BSYear <> ""then
msgbox "请输入正确年份!"
frmname.SYear.value = ""
frmname.SYear.focus
exit function
elseif BSYear = "" then
exit function
end if
BSYear = cint(BSYear)
if BSYear < 2000 then
msgbox "现在都已经2001年啦!"
frmname.SYear.value = ""
frmname.SYear.focus
exit function
end if
if BSYear > 2100 then
msgbox "现在已经23世纪啦?这个版本已经不能用了,你再编一个新版本的吧!"
frmname.SYear.value = ""
frmname.SYear.focus
end if
end functionfunction SMonthfocus(frmname)
if frmname.SYear.value = "" then
frmname.SYear.focus
end if
end function
function SMonthblur(frmname)
BSMonth = frmname.SMonth.value
if (not isNumeric(BSMonth)) or BSMonth = "" then
frmname.SMonth.value = ""
exit function
end if
BSMonth = cint(BSMonth)
if BSMonth < 1 then
frmname.SMonth.value = ""
exit function
end if
if BSMonth > 12 then
frmname.SMonth.value = ""
exit function
end if
frmname.SMonth.value = BSMonth
end functionfunction SYearchange(frmname)
frmname.SDay.value = ""
end functionfunction SMonthchange(frmname)
frmname.SDay.value = ""
end functionfunction SDayfocus(frmname)
if frmname.SMonth.value="" then
frmname.SMonth.focus
end if
end functionfunction SDayblur(frmname)
d = frmname.SDay.value
if (not isNumeric(d)) or d = "" then
frmname.SDay.value = ""
exit function
end if
d = cint(d)
m = frmname.SMonth.value
y = frmname.SYear.valueMaxD = DaysInMonth(m,y)
if d < 1 or d > MaxD then
frmname.SDay.value = ""
exit function
end if
frmname.SDay.value = d
end functionfunction DaysInMonth(m,y)
if isNumeric(m) and m <> "" and isNumeric(y) and y <> "" then
m = cint(m)
y = cint(y) if m>0 and m<13 and y>1999 and y<2101 then
pn = y mod 4
select case m
case 1,3,5,7,8,10,12
DaysInMonth = 31
case 2
if pn<>0 then
DaysInMonth = 28
else
DaysInMonth = 29
end if
case 4,6,9,11
DaysInMonth = 30
end select
exit function
end if
end if
DaysInMonth = 30
end function
</script>
请输入时间:
<input type="text" name="SYear" maxlength="4" size="4" onchange="SYearchange(searthbydt)" onBlur="SYearblur(searthbydt);">
年
<input type="text" name="SMonth" maxlength="2" size="2" onchange="SMonthchange(searthbydt)" onFocus="SMonthfocus(searthbydt);" onBlur="SMonthblur(searthbydt);">
月
<input type="text" name="SDay" maxlength="2" size="2" onFocus="SDayfocus(searthbydt); " onBlur="SDayblur(searthbydt);">
日
<script language="VBScript">
function SYearblur(frmname)
BSYear = frmname.SYear.value
if (not isNumeric(BSYear)) and BSYear <> ""then
msgbox "请输入正确年份!"
frmname.SYear.value = ""
frmname.SYear.focus
exit function
elseif BSYear = "" then
exit function
end if
BSYear = cint(BSYear)
if BSYear < 2000 then
msgbox "现在都已经2001年啦!"
frmname.SYear.value = ""
frmname.SYear.focus
exit function
end if
if BSYear > 2100 then
msgbox "现在已经23世纪啦?这个版本已经不能用了,你再编一个新版本的吧!"
frmname.SYear.value = ""
frmname.SYear.focus
end if
end functionfunction SMonthfocus(frmname)
if frmname.SYear.value = "" then
frmname.SYear.focus
end if
end function
function SMonthblur(frmname)
BSMonth = frmname.SMonth.value
if (not isNumeric(BSMonth)) or BSMonth = "" then
frmname.SMonth.value = ""
exit function
end if
BSMonth = cint(BSMonth)
if BSMonth < 1 then
frmname.SMonth.value = ""
exit function
end if
if BSMonth > 12 then
frmname.SMonth.value = ""
exit function
end if
frmname.SMonth.value = BSMonth
end functionfunction SYearchange(frmname)
frmname.SDay.value = ""
end functionfunction SMonthchange(frmname)
frmname.SDay.value = ""
end functionfunction SDayfocus(frmname)
if frmname.SMonth.value="" then
frmname.SMonth.focus
end if
end functionfunction SDayblur(frmname)
d = frmname.SDay.value
if (not isNumeric(d)) or d = "" then
frmname.SDay.value = ""
exit function
end if
d = cint(d)
m = frmname.SMonth.value
y = frmname.SYear.valueMaxD = DaysInMonth(m,y)
if d < 1 or d > MaxD then
frmname.SDay.value = ""
exit function
end if
frmname.SDay.value = d
end functionfunction DaysInMonth(m,y)
if isNumeric(m) and m <> "" and isNumeric(y) and y <> "" then
m = cint(m)
y = cint(y)if m>0 and m<13 and y>1999 and y<2101 then
pn = y mod 4
select case m
case 1,3,5,7,8,10,12
DaysInMonth = 31
case 2
if pn<>0 then
DaysInMonth = 28
else
DaysInMonth = 29
end if
case 4,6,9,11
DaysInMonth = 30
end select
exit function
end if
end if
DaysInMonth = 30
end function
</script>
<form name=searthbydt>
请输入时间:
<input type="text" name="SYear" maxlength="4" size="4" onchange="SYearchange(searthbydt)" onBlur="SYearblur(searthbydt)">年
<input type="text" name="SMonth" maxlength="2" size="2" onchange="SMonthchange(searthbydt)" onFocus="SMonthfocus(searthbydt)" onBlur="SMonthblur(searthbydt)">月
<input type="text" name="SDay" maxlength="2" size="2" onFocus="SDayfocus(searthbydt)" onBlur="SDayblur(searthbydt)">日
</form>