我们目前通过 mirth 接受 HL7 数据,我们处理的字段之一是出生日期,我们在 HL7 的 PID.7.1 段中接收。目前我们只是像捕获它一样 -
var vDOB = formatDate(msg['PID.7.1'].toString(),"yyyyMMdd");
如何验证日期中的日、月和年组件。并且还喜欢它应该大于今天的日期。
谢谢
我们目前通过 mirth 接受 HL7 数据,我们处理的字段之一是出生日期,我们在 HL7 的 PID.7.1 段中接收。目前我们只是像捕获它一样 -
var vDOB = formatDate(msg['PID.7.1'].toString(),"yyyyMMdd");
如何验证日期中的日、月和年组件。并且还喜欢它应该大于今天的日期。
谢谢
您可以包含这样的函数:
var dateChecker = function(dateStr){
if(date.length !=8 && !date.match('[0-9]{8}')) return false;//should be number and length 8
var year = date.substr(0,4);
var month = date.substr(4,2);
var day = date.substr(6,2);
var dateObj = new Date(year,month,day);
if (dateObj == 'Invalid Date') return false;
if(dateObj.getTime() - Date.now() > 0) return false;//compare epoch to check if date is less than current date/time
return true;
}
然后dateChecker(vDOB)
应该根据日期是有效还是无效返回真/假。