<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>URL Encoding/Decoding</title>
  <style>
    .container {
      max-width: 600px;
      margin-top: 2rem;
      padding: 2rem;
      background-color: #fff;
      border-radius: 5px;
      box-shadow: 0 0 5px rgba(0,0,0,0.1);
    }

    .result-text {
      color: #444;
      background-color: #f2f2f2;
    }
  </style>
</head>
<body>
  <div class="container">
    <h1 class="text-center mb-4">URL Encoding/Decoding</h1>
    <div class="form-group">
      <label for="input-textarea">Enter URL:</label>
      <textarea id="input-textarea" class="form-control" placeholder="Enter URL" rows="5"></textarea>
    </div>
    <div class="form-group">
      <button id="encode-button" class="btn btn-primary btn-block" onclick="encode()">Encode</button>
      <button id="decode-button" class="btn btn-secondary btn-block" onclick="decode()">Decode</button>
    </div>
    <div class="form-group">
      <label for="output-textarea" class="font-weight-bold">Result:</label>
      <textarea id="output-textarea" class="form-control result-text" rows="5" readonly></textarea>
    </div>
    <div class="form-group">
      <button id="copy-button" class="btn btn-secondary btn-block" onclick="copyResult()">Copy</button>
    </div>
  </div>


  <script>
    function encode() {
      const input = document.getElementById("input-textarea").value;
      const output = encodeURIComponent(input);
      document.getElementById("output-textarea").value = output;
    }

    function decode() {
      const input = document.getElementById("input-textarea").value;
      const output = decodeURIComponent(input);
      document.getElementById("output-textarea").value = output;
    }

    function copyResult() {
      const outputTextarea = document.getElementById("output-textarea");
      outputTextarea.select();
      outputTextarea.setSelectionRange(0, 99999); // For mobile devices
      document.execCommand("copy");
      alert("Result copied to clipboard.");
    }
  </script>
</body>
</html>

1. 배열에서 유니크 한 값 추출 

let numbers = [1,2,3,3,4,4,5,5,6];

// 배열에서 유니크한 값 추출
let uniqueNumbers = numbers.filter((item, index, array) => {
 return array.indexOf(item) === index;
 });

console.log(uniqueNumbers);

 결과   [1,2,3,4,5,6] 


2. Object 배열에서 유니크한 값 추출 

let objDatas = [
    {
        name : "찌끼찌기",
        age : "20"
    },{
        name : "차차",
        age : "24"
    },{
        name : "붐붐",
        age : "25"
    },{
        name : "랄랄라",
        age : "25"
    }
];

// objDatas 에서 나이가 유니크한 데이터
let uniqueObjDatas = objDatas.filter((item, index, array) => {
    return array.findIndex(i => i.age === item.age) === index;
});

console.log(uniqueObjDatas);

 결과   [{name:'찌끼찌기', age: '20'}, {name:'차차', age: '24'}, {name:'붐붐', age: '25'}] 

 

※ Code Tip 

 i.age === item.age 이부분을 i.name === item.name 처럼 수정/응용하여 사용하시면 됩니다.


Note Page 2 - End 


가끔 필요하지만 막상 쓰려보면 없는 정규표현식 !! 정리겸 모아 보겠습니다.


1. 콤마찍기

var numberWithComma = function(x) {

    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");

}

 

2. 콤마빼기 

var replaceComma = function(x) {

    return x.toString().replace(/,/g,"");

}

 

3. 숫자만입력

var onlyNumber = function(x) {

    return x.toString().replace(/[^-0-9]/gi, '');

}

 

4. 하이픈제거

var replaceHyphen = function(x) {

    return x.toString().replace(/-/gi, "");

}

 

5. 전화전호 하이픈 생성

var phoneHyphen = function(x) {

    return x.toString().replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");

}

 

6. 주민등록번호

var juminHyphen = function(x) {

    return x.toString().replace(/(\d{6})(\d{7})/,"$1-$2");

}

 

7. 사업자등록번호

var employerNumHyphen = function(x) {

    return x.toString().replace(/(\d{3})(\d{3})(\d{4})/,"$1-$2-$3");

}

 

 

요 페이지는 시간나는 대로 무한정 추가 하도록 하겠습니다. ^^ 

 

 

Note Page 1 - End 

오프라인 환경에서의 크롬 설치 방법입니다.

 

 

   1. Chrome 다운로드 및 설치(Click) 

      페이지로 이동합니다.

 

오프라인 상태에서 Chrome 설치를 클릭합니다.

 

 

 

 

   2.  Chrome 대체 설치 프로그램(Click)

       클릭하여 링크 이동

 

 

 

 

 

   3. Download 합니다. 

 

 

 

 

 

 

   4. ChromeStandalone 버전확인 후 다운받은

      파일을 눌러 설치를 진행 합니다.

 

 

 

 

 

Note Page 1 - End 

+ Recent posts