⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7002.html

📁 VB技巧问答10000例 VB技巧问答10000例
💻 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 + -