34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
// ✨ 오류 검사 - 가공된 데이터 기준
|
|
export const isInvalidNumber = (val: any) => {
|
|
return val !== undefined && val !== null && val !== "" && isNaN(Number(val));
|
|
};
|
|
|
|
export const isInvalidDate = (val: any) => {
|
|
//yyyymmdd 즉 20201212 이런형식만 허용
|
|
return !(typeof val === "string" && /^\d{8}$/.test(val.trim()));
|
|
};
|
|
|
|
export const parseRawValue = (val: any): number | string => {
|
|
if (val === "" || val === undefined || val === null) return 0;
|
|
if (typeof val === "string" && ["보류", "N/A"].includes(val.trim()))
|
|
return val;
|
|
return !isNaN(val) && val !== " " ? Number(val.replaceAll(',','')) : val;
|
|
};
|
|
|
|
|
|
export const parseCommaRawValue = (val: any): number | string => {
|
|
if (val === "" || val === undefined || val === null) return 0;
|
|
|
|
// 문자열이고 "보류"나 "N/A"면 그대로 반환
|
|
if (typeof val === "string" && ["보류", "N/A"].includes(val.trim())) {
|
|
return val;
|
|
}
|
|
|
|
// 문자열에 쉼표가 있으면 제거
|
|
if (typeof val === "string" && val.includes(",")) {
|
|
val = val.replace(/,/g, "");
|
|
}
|
|
|
|
// 숫자로 변환 가능하면 숫자로, 아니면 그대로
|
|
return !isNaN(val) && val !== " " ? Number(val) : val;
|
|
}; |