Ben Lin
2024-06-15 6abf4c703ebcdd4f856cb9cfe39bd7f0027dd6ac
src/utils/is.ts
@@ -100,3 +100,38 @@
  const reg = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/;
  return reg.test(path);
}
export function isTime(value: any): value is Date {
  return value instanceof Date && !isNaN(value.getTime());
}
export function isTimeViaConstructor(value: any): boolean {
  return value instanceof Date || value.constructor === Date;
}
export function isTimeViaRegExp(value: any): boolean {
  return /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/.test(value.toString());
}
export function isTimeType(value: string): boolean {
  return !isNaN(Date.parse(value));
}
export function isValidJSON(text: string): boolean {
  try {
      JSON.parse(text);
      return true;
  } catch (error) {
      return false;
  }
}
// // 示例
// const time1 = new Date();
// console.log(isTime(time1)); // true
// const time2 = '2023-04-01T12:00:00Z';
// console.log(isTimeViaRegExp(time2)); // true
// const notTime = 'hello world';
// console.log(isTime(notTime)); // false