All'alba vincerò

At dawn, I will win!

전체 글 338

정규표현식 / 전화번호 자동 하이픈(-) 만들기

정규표현식 (Regular expression, RegExp) 슬래시(/)와 슬래시(/) 사이에 검색할 문자열 패턴을 넣고, 슬래시가 끝나는 순서에 필요에 따라 플래그를 추가할 수 있다. /^hello-/d{2,3}$/g; 플래그 슬래시(/)가 끝난 뒤에 붙임 선택적으로 사용 가능 순서와 상관없이 하나 이상의 플래그를 동시에 설정 가능 플래그를 사용하지 않는 경우, 문자열 내 검색 대상이 1개 이상이더라도 첫번째 조건 대상만을 검색하고 종료 i (ignore case) : 대소문자를 구별하지 않고 검색 g (global) : 문자열 내의 모든 패턴을 검색 m (multi line) : 문자열의 행이 바뀌더라도 계속 검색 패턴 매칭하여 검색하고 싶은 문자열 일반 문자와 특수 문자 사용 가능 일반 문자 - ..

Javascript 2024.03.12

숫자 천 단위 콤마(,) 찍기 - toLocaleString()

숫자 천 단위 콤마(,) 찍기 toLocaleString() 날짜나 숫자를 문화권에 맞는 표기법의 문자열로 반환 number / date / array 에서 활용 number date array 3자리마다 콤마(,) 사용자의 문화권에 맞는 시간 표기법으로 년,월, 일, 시간 반환 array 내용을 문자열로 반환 const date = new Data(); date.toLocalString(); // "2024. 03. 12. 오후 15:45:45" const price = 20000; price.toLocalString(); // 20,000 const array = [1, 'a', 234, date]; array.toLocalString(); // "1,a,234,2024. 03. 12. 오후 15:4..

Javascript 2024.03.12

[HTML] 입력칸 안내 문구 / 엔터로 submit 하기 / 새로고침 버튼 / <footer> / <canvas>

input에 안내문구 넣기 placeholder : 텍스트 입력 칸에 안내 문구를 넣어 입력에 도움을 준다. 엔터로 submit 하기 이벤트 키 값이 13이면 searchList() 함수 실행 (엔터 키의 값은 13) 폼 안에 text 박스가 1개일 때만 가능 페이지를 새로고침하는 버튼 만들기 a 태그의 링크를 window.location.reload()로 설정하기 새로고침 태그 웹 페이지 하단의 작성자, 저작권 정보, 관련 문서에 대한 링크 등의 내용을 나타내는 영역 © 2023 웹 페이지 제작자 contact@example.com role 속성의 값은 contentinfo * role 속성 – 장애를 가진 사용자들을 위한 향상된 웹 콘텐츠의 접근성 제공하는 도구 태그 width과 height 속성을 ..

HTML 2024.03.12

[Javascript] 장바구니 기능

장바구니 기능 : 상품 목록을 보여주고 담기 버튼 클릭 시 장바구니에 담기며, 담은 상품의 합계와 영수증을 보여주는 페이지 사용 언어 HTML CSS Javascript 구조 index.html - 전체 구조 index.js - 기능 구현 main.css - 전체 디자인 store.json - 데이터 파일 코드 구현 계획 1. 레이아웃 구성하기 (html, css) - 상품 카드 만들기 2. 상품 목록 데이터 끌어오기 - 데이터 갯수만큼 html 생성하기 3. 검색 기능 (1) 검색어 필터링 (2) 검색어가 없는 카드엔 hide 클래스 추가 / 있으면 제거 4. 상품 드래그 기능 5. 장바구니에 있는 상품 카드의 html 수정 - 수량 입력 칸 추가 () 7. 최종 가격 출력 8. 개인 정보 입력창 - ..

Toy Projects 2024.03.12

[Coding Apple] 상품 옵션(option) / forEach문 / JS로 HTML 다루기

상품 옵션(option) / forEach문 / JS로 HTML 다루기 태그 : 드롭다운 메뉴를 만드는 태그 태그 안에서 태그와 함께 사용 상품선택 모자 셔츠 - 자유로운 형식 / 직접 입력 vs - 제한적인 형식 / 선택 이벤트 : 입력값이 바뀔 때마다 발생하는 이벤트 입력칸에서 값을 변경할 때는 (마우스로 선택하는 입력칸이어도) 클릭(click) 이벤트가 아닌 input 이벤트를 사용해야 한다. document.querySelectorAll('.form-select')[0].addEventListener('input', function() { ... }); e.currentTarget : 이벤트(addEventListener)가 붙어 있는 타켓을 가리킨다. e.currentTarget == this ..

[Coding Apple] 캐러셀 스와이프(Carousel Swipe) / 마우스 이벤트

마우스 이벤트 (mouse event) mousedown : 마우스로 누를 때 발동 mouseup : 마우스를 뗄 때 mousemove : (해당 요소에서) 마우스를 움직일 때 e.clientX : 현재 마우스 위치의 X좌표 document.getElementsByClassName('slide-box')[0].addEventListener('mousemove', function(e) { console.log(e.clientX) }); 터치 이벤트 (touch event) touchstart : 터치 시작 시 발동 touchend : 터치 종료 시 발동 e.changedTouches[0].clientX : 현재 터치 위치의 X좌표 touchmove : 터치 중 발동 e.touches[0].clientX :..

[Coding Apple] 웹 개발 라이브러리 정리

웹 개발 라이브러리 정리 npm 라이브러리 설치 / 수정 / 삭제 / 버전 관리 Node.js의 패키지를 관리할 수 있는 도구 Node.js 프로그램 설치하면 따라옴 Node.js 구글이 만든 자바스크립트 해석 엔진 자바스크립트 코드를 컴퓨터 친화적인 코드로 변환해서 돌려주는 엔진 브라우저를 키지 않아도 자바스크립트를 컴퓨터에서 수행할 수 있음 Vite, Webpack, parcel, snowpack Bundling tool 소스코드를 분석해서 꼭 필요한 js파일과 코드만 남겨주는 작업 브라우저 친화적인 .js 파일로 변환해주는 기능 최신 자바스크립트 문법들을 호환성 좋은 예전 문법으로 바꿔주는 기능 React, Vue SPA (Single Page Application, 단일 페이지 어플리케이션) : ..

[Coding Apple] 가격순 정렬 / array 정렬 + array 함수

array 정렬 숫자 정렬 오름차순 array.sort(function(a, b) { // a, b => array 안의 데이터 (ex. 7, 3) return a - b // (a-b)의 결과가 양수면 a는 오른쪽으로 이동 // 음수면 b가 오른쪽으로 이동 }); 내림차순 array.sort(function(a, b) { return b - a }); 문자 정렬 오름차순 array.sort(); 내림차순 array.sort(function(a, b) { if (a > b) return -1; // 음수 if (a < b) return 1; // 양수 return 0; // 같은 글자 }); array + object의 정렬 [ { }, { }, { } ] array.sort(); 사용 object.ke..

[Coding Apple] 상품 더보기 / Ajax

상품 더보기 / Ajax 서버 : 유저가 데이터 달라고 요청을 하면 데이터를 보내주는 간단한 프로그램 서버와 유저는 문자 자료만 주고 받을 수 있다. 서버에 데이터를 요청 시 확인 1. 어떤 데이터인지 url로 기재 2. 어떤 방법으로 요청할지 결정(GET/POST 등) GET 요청 : 서버에 있던 데이터 읽기 - 브라우저 주소창에 url 적으면 그 곳으로 GET요청을 날린다. POST요청 : 서버로 데이터 보내기 - 태그로 폼이 전송되었을 때 POST요청을 날린다. 단점: GET / POST 요청 시 브라우저가 새로고침 됨 => Ajax 사용 Ajax (Asynchronous JavaScript And XML = 비동기 자바스크립트와 XML) : 서버에 GET, POST 요청을 할 때, 새로고침 없이 ..