设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 90|回复: 1
打印 上一主题 下一主题

[求助]正规表达式

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-17 09:07:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数据库 :ACC2000
bable1 表结构
字段名 数据类型
ID int
Date datetime
Date 字段下的当然是 Date 2006-08-19
但是因为种种原因,
此数据库的记录被手工修改过于是
有些记录不符合Datetime数据类型了! 比如 200-08-19
因此导致ACC2000向SQL2000 复制数据出错
问如何在ASP中应用正规表达式找到这些错误的数据,并返回其所在的ID字段的值?
跪求实现此功能的ASP代码!
急.....................
我只需要这是 yyyy-mm-ddde 的这种就可以了
'***********************************************
'以下为我找到的datetime正规表达式不知道能不用

这是yyyy-mm-dd hh:mm:ss 的
/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/ ;
这是 yyyy-mm-ddde 的
/^(\d{4})\-(\d{2})\-(\d{2})$/
function validateCNDate( strValue ) {
var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/

if(!objRegExp.test(strValue))
return false;
else{
var arrayDate = strValue.split(RegExp.$1);
var intDay = parseInt(arrayDate[2],10);
var intYear = parseInt(arrayDate[0],10);
var intMonth = parseInt(arrayDate[1],10);
if(intMonth > 12 || intMonth < 1) {
return false;
}
var arrayLookup = { '1' : 31,'3' : 31, '4' : 30,'5' : 31,'6' : 30,'7' : 31,
'8' : 31,'9' : 30,'10' : 31,'11' : 30,'12' : 31}
if(arrayLookup[parseInt(arrayDate[1])] != null) {
if(intDay <= arrayLookup[parseInt(arrayDate[1])] && intDay != 0)
return true;
}
if (intMonth-2 ==0) {
var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0)
return true;
}
}
return false;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 00:30 , Processed in 0.083291 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表