验证输入字符串并将其转换为新的 Date 对象
Verify and convert input string to new Date object
我有一个输入字段,其中日期"应该"以格式输入(11/19/2014 6:20 PM),有没有办法验证日期是否以这种特定格式输入,没有任何额外的文本/数字,然后将输入和验证的日期转换为新的 Date() 对象?谢谢
这样的事情就可以了。基本上,利用Date.parse,如果结果是NaN,那么它没有成功解析。
function getDate(dateString){
var date = Date.parse(dateString);
if(isNaN(date)) return null;
return new Date(date);
}
alert(getDate('11/19/2014 6:20 PM'));
alert(getDate('11/35/2014 6:20 PM'));
alert(getDate('11/19/2014 6:20 PM hello'));
alert(getDate('11/19/2014 6:20 PM 12345'));
我玩
了一下正则表达式,并想出了以下内容。基本上,代码测试只是测试日期是否采用特定格式。
var date1 = "11/12/2014 6:20 PM";
var res1 = date1 + " --> " + (TestFormat(date1) ? "true" : "false");
$("#results").append(res1 + "<br>");
var date2 = "811/12/2014 6:20 PM";
var res2 = date2 + " --> " + (TestFormat(date2) ? "true" : "false");
$("#results").append(res2 + "<br>");
var date3 = "11.12/2014 6:20 PM";
var res3 = date3 + " --> " + (TestFormat(date3) ? "true" : "false");
$("#results").append(res3 + "<br>");
function TestFormat(date) {
return date.match(/'b[0-9]{1,2}[/][0-9]{1,2}[/][0-9]{4}[ ][0-9]{1,2}[:][0-9]{1,2}[ ]?(PM)|(AM)'b/g);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="results"> </div>
相关文章:
- date对象未在javascript中返回正确的日期值
- Date对象未返回预期年份
- JS:如何将字符串(“2015年3月10日”)转换为Date对象
- Javascript Date 对象因格式而异:yyyy-mm-dd vs mm-dd-yyyy
- 将Date对象转换为毫秒
- 为什么我的Date对象返回当前日期
- Javascript Date对象到日期字符串
- Date对象在Chrome中有效,但在Safari、Firefox或IE中无效
- 如何测试Date对象是否等于特定日期
- 为什么js会从具有特定格式的Date对象中减去一天
- highcharts:将useUTC=true milliseconds转换为javascript Date对象
- 将 JavaScript Date 对象格式化为特定格式
- Javascript Date 对象失败
- Date 对象在尝试计算 IE8 中两个日期之间的时间时返回 NaN
- 如何从字符串构造一个 javascript Date 对象
- 与 API 一起使用时,将 Date 对象存储在数据库中的最佳实践是什么
- 将字符串转换为 JavaScript 的 Date 对象的方法
- 意外的 Javascript Date 对象隐式转换
- Date 对象是否使用过非公历
- 通过 Javascript 中的原型访问 Date 对象的方法