📄 7002.html
字号:
<html>
<head>
<title>Re: 日期验证!!请教</title>
</head>
<body bgcolor="#FFFFFF" vlink="#808080">
<center>
<h1>Re: 日期验证!!请教</h1>
</center>
<hr size=7 width=75%>
<hr size=7 width=75%><p>
Posted by <a href="mailto:ronald@ms11.hinet.net">Ronald</a> on November 02, 1998 at 17:12:15:<p>
In Reply to: <a href="6904.html">Re: 日期验证!!请教</a> posted by Steve on October 30, 1998 at 13:07:42:<p>
: : 请问如我在text1中输入1998/10/30或1998/10/32<br>: : 请问我该如何去验证在text1中的资料是正确的日期<br>: : 谢谢<p>: 可用IsDate 函数检查<p>>>送你一个自己写的检验模组<br>'****日期格式检验并转换模组****<br>'说明:本模组专为含有日期内容文字盒检验设计<br>'使用方式:<br>'chkdate TextBox<br>'日期格式经过确认后,正确将传递其一公用变数 datechk=1,<br>'并自动将对象文字盒中之日期资料变更为 yyyy/mm/dd 格式<br>'错误将传递 datechk=0<br>'本模组使对象文字盒接受下列五种资料格式:<br>'yyyy/mm/dd 以表示 yyyy/mm/dd<br>'yyyy/m/dd 以表示个位数月份 如 1971/9/31<br>'yyyy/mm/d 以表示个位数日期 如 1971/09/4<br>'yyyy/m/d 以表示月份及日期均为个位数 如 1971/9/2<br>'yyyymmdd 以表示 yyyy/mm/dd<br>'所有格式经过验证通过,将自动转换对象文字盒内容为 yyyy/mm/dd 格式<p><br>Sub chkdate(chktxt As TextBox)<br>If chktxt.Text = "" Then<br> datechk = 1<br> Exit Sub<br>End If<br>If IsNumeric(Left(chktxt.Text, 4)) <> True Then<br> Call errinfo<br> Exit Sub<br>End If<p><br>If Mid(chktxt.Text, 1, 2) <> "19" And Mid(chktxt.Text, 1, 2) <> "20" Then<br> MsgBox "年格式为19XX,或者 20XX!"<br> datechk = 0<br> Exit Sub<br>End If<p><p>If Len(chktxt.Text) = 10 Then<p> If Mid(chktxt.Text, 5, 1) <> "/" Or Mid(chktxt.Text, 8, 1) <> "/" Then<br> Call errinfo<br> Exit Sub<br> End If<br> <br> If IsNumeric(Mid(chktxt.Text, 6, 2)) <> True Or IsNumeric(Mid(chktxt.Text, 6, 2)) <> True Or IsNumeric(Mid(chktxt.Text, 9, 2)) <> True Then<br> Call errinfo<br> Exit Sub<br> End If<br> <p> If Val(Mid(chktxt.Text, 6, 1)) > 1 Then<br> Call errinfo<br> Exit Sub<br> End If<p> If Val(Mid(chktxt.Text, 6, 1)) = 1 And Val(Mid(chktxt.Text, 7, 1)) > 2 Then<br> Call errinfo<br> Exit Sub<br> End If<p> If Val(Mid(chktxt.Text, 9, 1)) > 3 Then<br> Call errinfo<br> Exit Sub<br> End If<p> If Val(Mid(chktxt.Text, 9, 1)) = 3 And Val(Mid(chktxt.Text, 10, 1)) > 1 Then<br> Call errinfo<br> Exit Sub<br> End If<br> <br> datechk = 1<br> Exit Sub<br> <br>ElseIf Len(chktxt.Text) = 8 And Mid(chktxt.Text, 5, 1) <> "/" Then<p> If IsNumeric(chktxt.Text) <> True Or Len(chktxt.Text) <> 8 Then<br> Call errinfo<br> Exit Sub<br> End If<p> <br> If Val(Mid(chktxt.Text, 5, 1)) > 1 Then<br> Call errinfo<br> Exit Sub<br> End If<p> If Val(Mid(chktxt.Text, 5, 1)) = 1 And Val(Mid(chktxt.Text, 6, 1)) > 2 Then<br> Call errinfo<br> Exit Sub<br> End If<p> If Val(Mid(chktxt.Text, 7, 1)) > 3 Then<br> Call errinfo<br> Exit Sub<br> End If<p> If Val(Mid(chktxt.Text, 7, 1)) = 3 And Val(Mid(chktxt.Text, 8, 1)) > 1 Then<br> Call errinfo<br> Exit Sub<br> End If<p> chktxt.Text = Left(chktxt.Text, 4) & "/" & Mid(chktxt, 5, 2) & "/" & Mid(chktxt, 7, 2)<br> datechk = 1<br> Exit Sub<br> <br>ElseIf Len(chktxt.Text) = 8 And Mid(chktxt.Text, 5, 1) = "/" Then<p> If IsNumeric(Mid(chktxt.Text, 6, 1)) <> True Then<br> Call errinfo<br> Exit Sub<br> End If<br> <br> If Mid(chktxt.Text, 7, 1) = "/" And Mid(chktxt.Text, 6, 1) = "0" Then<br> Call errinfo<br> Exit Sub<br> End If<p> <br> chktxt.Text = Left(chktxt.Text, 4) & "/" & "0" & Mid(chktxt, 6, 1) & "/" & Mid(chktxt, 8, 2)<br> datechk = 1<br> Exit Sub<br> <br>ElseIf Len(chktxt.Text) = 9 And Mid(chktxt.Text, 5, 1) = "/" And Mid(chktxt.Text, 7, 1) = "/" Then<p> If IsNumeric(Mid(chktxt.Text, 6, 1)) <> True Then<br> Call errinfo<br> Exit Sub<br> End If<br> <br> If IsNumeric(Mid(chktxt.Text, 8, 2)) <> True Then<br> Call errinfo<br> Exit Sub<br> End If<br> <br> If Val(Mid(chktxt.Text, 8, 2)) > 31 Then<br> Call errinfo<br> Exit Sub<br> End If<br> <br> chktxt.Text = Left(chktxt.Text, 4) & "/" & "0" & Mid(chktxt, 6, 1) & "/" & Mid(chktxt, 8, 2)<br> datechk = 1<br> Exit Sub<p>ElseIf Len(chktxt.Text) = 9 And Mid(chktxt.Text, 5, 1) = "/" And Mid(chktxt.Text, 8, 1) = "/" Then<br> <br> If IsNumeric(Mid(chktxt.Text, 6, 2)) <> True Then<br> Call errinfo<br> Exit Sub<br> End If<br> <br> If IsNumeric(Mid(chktxt.Text, 9, 1)) <> True Or Mid(chktxt, 9, 1) = "0" Then<br> Call errinfo<br> Exit Sub<br> End If<br> <br> chktxt.Text = Left(chktxt.Text, 4) & "/" & Mid(chktxt, 6, 2) & "/" & "0" & Mid(chktxt, 9, 2)<br> datechk = 1<br> Exit Sub<br> <br>Else<br> Call errinfo<br> Exit Sub<br>End If<p>End Sub<p><br>Function errinfo()<br>MsgBox "日期格式错误!" + Chr$(13) + Chr$(10) + _<br> "提示:" + Chr$(13) + Chr$(10) + _<br> "请输入如右格式 19711026 以表示 1971/10/26"<br> datechk = 0<br>End Function<br>
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 7002-->
</ul><!--end: 7002-->
<br><hr size=7 width=75%><p>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -