关于一个正则表达式的问题

wwweather 2009-12-30 05:46:24
YYYYMMDD-YYYYMMDD的正则表达式怎么写,也就是要得到一个时间段
...全文
66 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinank 2009-12-31
  • 打赏
  • 举报
回复
小白你可真行,呵呵。哪里都有你。哈哈。我就不回答了,顶了先。
yan11cn 2009-12-31
  • 打赏
  • 举报
回复
js我不会啊 你要是会的话 查一下vbscript里面我用到的那几个函数的作用 就试着改吧
wwweather 2009-12-31
  • 打赏
  • 举报
回复
多谢小白,能不能给我一个js的代码啊
yan11cn 2009-12-31
  • 打赏
  • 举报
回复
对了上面的check函数中reg.Pattern的字符串中不小心按了俩回车,直接复制会报错:字符串未结束
把那两回车去掉就行
yan11cn 2009-12-31
  • 打赏
  • 举报
回复
yan11cn 2009-12-30
  • 打赏
  • 举报
回复
根据理解,楼主要得到一个时间段,于是把20000101-19990101排除在外,若有需要稍作改动即可加入。
以下程序测试可用:

<%
dim str,reg,arr,flag,str2,str3
flag=0
str="19860103-20000229|20000101-1999010119190504-19491001yes"
str=trim(str)
set reg =New RegExp
reg.Global=true
reg.IgnoreCase = false
reg.Pattern="\d{8}-\d{8}"
if reg.Execute(str).count <> 0 then
set colMatches = reg.Execute(str)
for each match in colMatches
arr=split(match.value,"-")
if clng(arr(0)) < clng(arr(1)) then
str2=left(arr(0),4) & "-" & mid(arr(0),5,2) & "-" & right(arr(0),2)
str3=left(arr(1),4) & "-" & mid(arr(1),5,2) & "-" & right(arr(1),2)
if check(str2)=1 and check(str3)=1 then
response.write(match.value&"<br/>")
flag=1
end if
end if
next
end if

if flag=0 then
response.write("NO SUCH STRING!")
end if


'功能:时间格式判断
'作者:小白
'时间:2009-12-30

function check(str)
dim reg
set reg = New RegExp
reg.Global=true
reg.IgnoreCase = false
reg.Pattern="^((((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))$"
str=trim(str)
if reg.Execute(str).count = 0 then
check=0
else
check=1
end if
end function
%>
yan11cn 2009-12-30
  • 打赏
  • 举报
回复
思路应该比较直接,先用"\d{8}-\d{8}"正则匹配出可能是时间段的字符串,然后对每个匹配结果进行判断
看MM是否为01-12 然后根据月份判断是否有DD这一天 2月比较特殊 根据年份YYYY来判断是否为闰年,来确定最多是28日还是29日
郭大侠_ 2009-12-30
  • 打赏
  • 举报
回复
按-分割,两次验证。
网上查YYYY-MM-DD的验证方法,稍作修改即可。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧