19 lines
834 B
TypeScript
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);
|