javascript reviseDestFilePath (로컬에 저장할 파일패스 값을 보정)

javascript reviseDestFilePath (로컬에 저장할 파일패스 값을 보정)

/**
 * 로컬에 저장할 파일패스 값을 보정한다.
 */
function reviseDestFilePath(str) {
 if (str == null || str == “”) {
  return “”;
 }
 
 // 파일에는 다음 문자를 사용할 수 없습니다.
 str = replaceAllStr(str, “\\”, “”);
 str = replaceAllStr(str, “/”, “”);
 str = replaceAllStr(str, “:”, “”);
 str = replaceAllStr(str, “*”, “”);
 str = replaceAllStr(str, “?”, “”);
 str = replaceAllStr(str, “\””, “”);
 str = replaceAllStr(str, “<“, “”);
 str = replaceAllStr(str, “>”, “”);
 str = replaceAllStr(str, “|”, “”);
 
 // 작은따옴표는 대상이 아니지만 일관성을 위해 쌍따옴표처럼 처리한다.
 str = replaceAllStr(str, “‘”, “”);
 
 // 빈칸은 언더바로 채운다.
 str = replaceAllStr(str, ” “, “_”);
 return str;
}

/**
 * 정규식 사용하지 않는 자바스크립트 replaceAll
 */
function replaceAllStr(str, s1, s2) {
 if (str == null || str == “”) {
  return “”;
 }
 
 if (s1 == null || s1 == “”) {
  return str;
 }
 
 while (str.indexOf(s1) > -1) {
  str = str.replace(s1, s2);
 }
 return str;
}