做为前端开发,对时间的操作是日常开发中经常遇到的,那么如何通过JS判断数据格式是正确的时间格式呢?

js判断数据是否为时间格式兼容IOS

isNaN(times) 是排除了times是纯数字的情况,如果不考虑这个情况的话,isNaN(times) 这部分就不需要了

因为IOS手机上时间格式必须为'2020/12/21 20:05:05',不支持'2020-12-21 20:05:05',所以我们需要将'-'替换为'/',如果不替换 Date.parse(new Date(times)) 在IOS上会输出 NaN ,下面代码已测试IOS可以正常使用。

reg.test(times) 这部分是为了考虑到其他输入错误的情况(只能是数字,/,:,-,空格),一般情况下日期格式就'2020/12/21 20:05:05'和'2020-12-21 20:05:05' 两种

var times = '2020-12-21 20:05:05';
var reg = /^[0-9,/:-s]+$/;
if(!isNaN(Date.parse(new Date(times.replace(/-/g, '/')))) && isNaN(times) && reg.test(times)){
  console.log("times是日期格式!")
  // IOS 用alert测试就可以
}