如何处理格里高利和朱利安日期形式

时间:2016-06-15 12:57:30

标签: javascript html forms date

我是Javascript的新手。

我的问题如下:我必须实现一个由js文件生成的表单,通过获取url并将其粘贴到我的HTML中。我有一个日期输入,我需要验证日期是否正确,它是dd / mm / aaaa还是mm / dd / aaaa。

如果可能,不使用regExp。我已经从StackOverflow RegExp中创建了这个函数:

    function validateDateRegExp(field){
  var date=field.value;
  var regExp1 = /^(((0[1-9]|[12]\d|3[01])[\s\.\-\/](0[13578]|1[02])[\s\.\-\/]((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)[\s\.\-\/](0[13456789]|1[012])[\s\.\-\/]((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])[\s\.\-\/]02[\s\.\-\/]((19|[2-9]\d)\d{2}))|(29[\s\.\-\/]02[\s\.\-\/]((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;
  var regExp2 = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$/;
  if(!(regExp1.test(date)||regExp2.test(date))){
    alert(date);
    document.getElementById('fld_CS_BuyingDate').value="";
  }
}

我从2天开始寻找解决方案,但答案不明确,或问题不一样。

有没有人知道如何解决这个问题?

感谢您未来的答案

0 个答案:

没有答案