- 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测试就可以
}