guest-reception-system/src/utils/format.ts

19 lines
834 B
TypeScript

// 通用格式化 / 校验纯函数(无状态,供 composable 与页面复用)。
/** Date → `YYYY-MM-DD` */
export const formatDate = (date: Date | string): string => {
const transformedDate = typeof date === "string" ? new Date(date) : date;
if (Number.isNaN(transformedDate.getTime())) return "";
const year = transformedDate.getFullYear();
const month = String(transformedDate.getMonth() + 1).padStart(2, "0");
const day = String(transformedDate.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
};
/** 手机号输入格式化:仅保留数字并截断到 11 位。 */
export const formatPhoneNumber = (value: string): string => value.replace(/\D/g, "").slice(0, 11);
/** 中国大陆手机号校验。 */
export const isValidPhone = (value: string): boolean => /^1[3-9]\d{9}$/.test(value);