日期格式验证(正则)

1. 只做格式验证, 不做日期的有效性验证:^/d{4}-/d{1,2}-/d{1,2}$   

例如: 2008-08-8

^/d{4}-/d{2}-/d{2}$    例如: 2008-08-08

2.这里是判断yyyy-mm-dd这种格式的,基本上把闰年和2月等的情况都考虑进去了

^((((1[6-9]|[2-9]/d)/d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]/d|3[01]))|(((1[6-9]|[2-9]/d)/d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]/d|30))|(((1[6-9]|[2-9]/d)/d{2})-0?2-(0?[1-9]|1/d|2[0-8]))|(((1[6-9]|[2-9]/d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$

3.下面的是加了时间验证的

^((((1[6-9]|[2-9]/d)/d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]/d|3[01]))|(((1[6-9]|[2-9]/d)/d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]/d|30))|(((1[6-9]|[2-9]/d)/d{2})-0?2-(0?[1-9]|1/d|2[0-8]))|(((1[6-9]|[2-9]/d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?/d):[0-5]?/d:[0-5]?/d$

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是匹配 VB 中日期格式则表达式: ```vb ^((19|20)\d{2})[\-/\.](0?[1-9]|1[012])[\-/\.](0?[1-9]|[12]\d|3[01])$ ``` 这个则表达式可以匹配如下格式日期: - yyyy-mm-dd - yyyy.mm.dd - yyyy/mm/dd - yyyy-m-d - yyyy.m.d - yyyy/m/d 其中,yyyy 表示 4 位数的年份,mm 表示 2 位数的月份,dd 表示 2 位数的日期。月份和日期可以有前导零,也可以没有。 ### 回答2: 在VB中,我们可以使用则表达式来验证日期格式。以下是一个示例则表达式,可以用来验证日期格式是否确: ```vb ^(0?[1-9]|1[0-2])/(0?[1-9]|[12]\d|3[01])/(19\d{2}|20\d{2})$ ``` 该则表达式的解释如下: - `^`:表示开头的定位符。 - `(0?[1-9]|1[0-2])`:表示月份,可以是1-9的单个数字或者是10-12的两位数字,0可以选择性省略。 - `/`:表示日期和月份之间的斜杠符号。 - `(0?[1-9]|[12]\d|3[01])`:表示日期,可以是1-9的单个数字、10-29的两位数字,或者是30-31的两位数字。 - `/`:表示日期和年份之间的斜杠符号。 - `(19\d{2}|20\d{2})`:表示年份,可以是19开头的四位数字或者是20开头的四位数字。 - `$`:表示结尾的定位符。 这个则表达式可以验证日期格式类似于:`01/01/2000`、`12/31/2022`等。如果日期格式则表达式不匹配,可以根据返回结果来判断是否符合要求。 ### 回答3: 在VB中,日期格式则表达式可以用来验证输入的日期是否符合指定的格式。以下是一个示例的日期格式则表达式: ^(\d{1,2})/(\d{1,2})/(\d{4})$ 上述则表达式的解释如下: - ^ 表示匹配字符串的开头 - \d{1,2} 表示匹配1或2位数字,即日期和月份的部分 - / 表示日期和月份之间的分隔符 - \d{4} 表示匹配4位数字,即年份的部分 - $ 表示匹配字符串的结尾 通过使用这个则表达式,可以验证输入的日期是否符合"日期/月份/年份"的格式。示例如下: ```vb Imports System.Text.RegularExpressions Sub Main() Dim regex As Regex = New Regex("^(\d{1,2})/(\d{1,2})/(\d{4})$") Dim input As String = "25/12/2022" Dim isValid As Boolean = regex.IsMatch(input) If isValid Then Console.WriteLine("输入的日期格式确") Else Console.WriteLine("输入的日期格式错误") End If End Sub ``` 以上代码将会输出"输入的日期格式确",因为输入的日期"25/12/2022"符合"日期/月份/年份"的格式。若输入的日期不符合指定的格式,则输出"输入的日期格式错误"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值