以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎么判断输入的是不是日期格式?(已ok)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185416)

--  作者:YUNSEL
--  发布时间:2023/2/21 17:40:00
--  怎么判断输入的是不是日期格式?(已ok)
设置一个文本框用来输入日期,需要在输入完成后是不是符合日期格式,要怎么写?

dim txt as string = "2023-01-101"

上例,如果txt的值不是标准的日期格式,给出提示!

找到答案了:

Dim pattern As String = "^[1-9]\\d{3}-(0[1-9]|1[0-2]|[1-9])-(0[1-9]|[1-2][0-9]|3[0-1]|[1-9])$"
Dim txt As String= "2017-9-1" \'2017年9月
Dim rgx = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
If rgx.isMatch(txt) = False Then
    msgbox("请输入正确的日期!")
Else
    msgbox("正确")
End If
[此贴子已经被作者于2023/2/21 17:55:23编辑过]

--  作者:chen37280600
--  发布时间:2023/2/21 18:54:00
--  
你搜一下TryParse

Dim d As Date \'变量d用于存储转换结果
If
Date.TryParse("1999/12/31", d) Then \'如果转换成功
    Output.Show(d)
\'输出转换结果
Else

    Output.Show(
"无效日期格式") \'给出错误提示
End
If


--  作者:有点蓝
--  发布时间:2023/2/21 19:50:00
--  
http://www.foxtable.com/webhelp/topics/0324.htm