투케이2K

524. (javaScript) [간단 소스] 자바스크립트 getMacFormat - 맥 주소 (Mac Address) 형식에 맞게 세미콜론 자릿수 포맷 함수 본문

JavaScript

524. (javaScript) [간단 소스] 자바스크립트 getMacFormat - 맥 주소 (Mac Address) 형식에 맞게 세미콜론 자릿수 포맷 함수

투케이2K 2026. 4. 7. 20:34
728x90
반응형

[개발 환경 설정]

개발 툴 : Edit++ / Vscode

개발 언어 : JavaScript

 

[소스 코드]

-----------------------------------------------------------------------------------------
[사전 설명 및 설정 사항]
-----------------------------------------------------------------------------------------

- 개발 환경 : Web


- 개발 기술 : JavaScript (자바스크립트) / 유틸 파일 / getMacFormat


- 사전) 👉 자바스크립트 test() 간편 설명 : 

  >> test() 함수는 보통 정규표현식(RegExp) 객체에서 가장 많이 사용하는 메서드입니다.

  >> test() 함수는 문자열이 특정 정규식 패턴을 만족하는지 검사하고 결과를 true 또는 false 로 반환하는 함수입니다.

  >> test() 함수 기본 문법 : 

    const regex = /패턴/;
    const result = regex.test("검사할 문자열");

-----------------------------------------------------------------------------------------





-----------------------------------------------------------------------------------------
[소스 코드]
-----------------------------------------------------------------------------------------

    /**
     * ✔️ MAC 주소 포맷 변환
     * return ex : AB:CD:EF:GH:IJ:KL
     * return ex : 01:23:34:56:78:90
     */
    function getMacFormat(macNum) {

      let returnData = "";

      try {
        
        if (macNum !== null && macNum !== undefined && macNum !== '') {

          // ✅ 특수문자 제거
          let replaceMacNum = macNum;
          replaceMacNum = replaceMacNum.replace(/[!@#$%^&*().,?:;/_{}+=-]/g, "");
          replaceMacNum = replaceMacNum.replace(/\s/g, ""); // 공백 제거

          // ✅ null 체크 + 짝수 길이 체크
          if (replaceMacNum !== null && replaceMacNum !== undefined && replaceMacNum !== '' && replaceMacNum.length % 2 === 0) {

            // 문자 2개마다 ':' 삽입
            let cntPlus = 2;

            for (let i = 0; i < replaceMacNum.length; i++) {

              if (i === cntPlus) {
                returnData += ":";
                cntPlus += 2; // ✅ 다음 ':' 위치
              }

              returnData += replaceMacNum.charAt(i);
            }

          }
          else {
            console.error("[getMacFormat] : Error = replaceMacNum length match error");
          }
        }
      }
      catch (e) {
        console.error('[getMacFormat] : Exception : ', e);
      }

      console.warn(`[getMacFormat] : Length = ${returnData.length} / ${returnData}`);

      return returnData;
    };

-----------------------------------------------------------------------------------------





-----------------------------------------------------------------------------------------
[참고 사이트]
-----------------------------------------------------------------------------------------

▶️ [test() 함수 사용해 특정 문자열 패턴을 포함하는지 확인 실시 - 정규식 , 문자열 패턴]

https://kkh0977.tistory.com/1846

https://blog.naver.com/kkh0977/222732607207?trackingCode=blog_bloghome_searchlist


▶️ [간단 소스] 자바스크립트 이메일 형식 유효성 검증 정규식 생성 및 test() 함수 사용해 정규식 일치 여부 확인 - @ 뒤에 점 다중 허용 처리

https://kkh0977.tistory.com/8673

https://blog.naver.com/kkh0977/224207113183?trackingCode=blog_bloghome_searchlist


▶️ [정규식 (RegEx) 을 사용해서 지정한 특정 패턴 문자 제거 실시 - 특수문자 및 공백제거]

https://kkh0977.tistory.com/1099

https://blog.naver.com/kkh0977/222463874583?trackingCode=blog_bloghome_searchlist

-----------------------------------------------------------------------------------------
 
728x90
반응형
Comments