JavaScript에서 빈 입력 필드에 대한 폼(양식) 유효성 검사를 추가하려면 onsubmit 이벤트 핸들러와 간단한 자바스크립트 함수를 활용하면 됩니다. 사용자가 필수 입력란을 비운 채로 폼을 제출하려고 할 때 경고 메시지를 표시하고 제출 동작을 차단하는 방식입니다. 예제 코드 <!DOCTYPE html> <html> <head></head> <body> <h1>JavaScript 빈 입력 필드 유효성 검사 예제</h1> <form name=Form
JavaScript를 활용하면 검색 입력창에 텍스트를 입력하는 순간 목록 항목을 실시간으로 필터링하는 기능을 손쉽게 구현할 수 있습니다. 이번 글에서는 keyup 이벤트와 간단한 문자열 비교 로직만으로 동물 이름 목록을 검색·필터링하는 예제를 살펴보겠습니다.동작 원리필터링의 핵심 흐름은 다음과 같습니다.사용자가 입력창에 키를 입력하면 onkeyup 이벤트가 발생하여 필터 함수가 호출됩니다.입력된 값을 toUpperCase()로 대문자로 변환해 대소문자 구분 없이 비교합니다.목록의 각 항목(<li>)을 순회하며 텍스트에 입
웹 개발을 하다 보면 사용자의 마우스 위치를 주기적으로 추적해야 하는 경우가 종종 있습니다. 이번 글에서는 JavaScript의 mousemove 이벤트와 setInterval() 함수를 활용하여 지정된 간격(예: 3초)마다 마우스 좌표를 캡처하는 방법을 예제와 함께 살펴보겠습니다.동작 원리이 기능은 두 가지 핵심 요소로 구성됩니다.mousemove 이벤트: 마우스가 움직일 때마다 발생하며, 이때 event.clientX와 event.clientY로 현재 좌표를 얻을 수 있습니다.setInterval() 함수: 지정한 시간(밀리초
JavaScript를 활용하면 간단한 조건문만으로 입력된 연도가 윤년인지 손쉽게 판별할 수 있습니다. 이 글에서는 사용자가 연도를 입력하고 버튼을 클릭하면 윤년 여부를 화면에 표시해 주는 예제를 단계별로 살펴보겠습니다. 윤년 판별 기준 그레고리력에서 윤년은 다음 규칙에 따라 결정됩니다. 연도가 4로 나누어 떨어지면 윤년입니다. 단, 100으로 나누어 떨어지는 연도는 평년입니다. 예외적으로 400으로 나누어 떨어지는 연도는 다시 윤년입니다. (예: 2000년) 예제 코드 <!DOCTYPE html> <html la
array.toLocaleString() 함수란?JavaScript의 array.toLocaleString() 함수는 배열의 모든 요소를 하나의 문자열로 반환하는 메서드입니다. 이때 각 요소는 쉼표(,)처럼 해당 로케일(지역 설정)에서 통용되는 구분 기호로 연결됩니다.이 함수는 선택적으로 locale 매개변수를 받을 수 있으며, 이 매개변수는 문자열을 변환할 때 적용할 언어 태그(예: en-GB, ko-KR)를 지정합니다. 로케일을 별도로 지정하지 않으면 브라우저의 기본 로케일이 자동으로 적용됩니다.특히 배열에 숫자나 Date 객체
자바스크립트의 Array.values() 메서드는 주어진 배열에 포함된 모든 값을 순서대로 담고 있는 이터레이터(Iterator) 객체를 반환합니다. 인덱스가 아닌 배열의 값 자체만 필요할 때 유용하게 사용되며, 반환된 이터레이터는 for...of 문이나 전개 연산자(...)와 함께 활용할 수 있습니다. 기본 문법 arr.values() 매개변수는 받지 않으며, 호출된 배열의 각 요소 값을 하나씩 순회하는 이터레이터 객체를 반환합니다. 예제 다음은 Array.values()의 동작을 보여주는 코드입니다. 초기 화면에서는 entrie
JavaScript ArrayBuffer 객체란?JavaScript의 ArrayBuffer 객체는 범용적이면서 고정된 길이를 가지는 원시(raw) 이진 데이터 버퍼를 표현하는 데 사용됩니다. 이름에서 알 수 있듯이 배열(array)처럼 데이터를 담을 수 있는 공간이지만, 일반 배열과 달리 오직 바이트 단위의 순수한 이진 데이터만 저장합니다.중요한 점은 ArrayBuffer의 내용에 직접 접근하거나 조작할 수 없다는 것입니다. 따라서 버퍼의 데이터를 읽거나 쓰려면 반드시 DataView 객체를 생성해야 하며, 이 DataView 객체
자바스크립트에서는 내장 Date 객체를 사용해 다양한 형식의 날짜를 손쉽게 생성하고 표시할 수 있습니다. new Date() 생성자에 날짜 문자열을 전달하면, 자바스크립트가 해당 문자열을 해석하여 날짜 객체로 변환해 줍니다.예제 코드<!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title&
ArrayBuffer.byteLength 속성은 ArrayBuffer 객체의 크기를 바이트(byte) 단위로 반환합니다. 이 속성은 읽기 전용이며, 버퍼가 생성될 때 지정된 고정된 길이를 나타냅니다. 주요 특징 ArrayBuffer의 전체 바이트 크기를 숫자로 반환합니다. 읽기 전용 속성이므로 값을 직접 변경할 수 없습니다. DataView나 TypedArray를 통해 버퍼에 접근할 때 유용하게 활용됩니다. 예제 코드 다음은 ArrayBuffer.byteLength 속성의 사용법을 보여주는 예제입니다. <!DOCTYPE h
자바스크립트의 ArrayBuffer.isView() 메서드는 전달된 매개변수 값이 ArrayBuffer 뷰(view)인지 아닌지를 판별해 주는 정적 메서드입니다.여기서 ArrayBuffer 뷰란 TypedArray(Uint8Array, Int16Array 등)나 DataView처럼 ArrayBuffer 내부의 바이너리 데이터를 읽고 쓸 수 있도록 해주는 객체를 의미합니다. 따라서 이 메서드는 인자가 뷰 객체이면 true, 그렇지 않으면 false를 반환합니다.주요 특징ArrayBuffer.isView()는 정적(static) 메서드
RegExp test() 메서드란? JavaScript의 RegExp test() 메서드는 특정 문자열 안에 정규식(Regular Expression) 패턴과 일치하는 내용이 존재하는지 검사하는 데 사용됩니다. 패턴이 발견되면 true를, 발견되지 않으면 false를 반환합니다. 기본 구문: regexObj.test(str) 매개변수: str – 정규식과의 일치 여부를 검사할 대상 문자열 반환값: 일치하면 true, 일치하지 않으면 false (불리언 타입) test() 메서드는 문자열 내 단순 포함 여부 확인부터 이메일 형식
JavaScript의 RegExp toString() 메서드는 정규 표현식(Regular Expression) 객체의 문자열 값을 반환하는 메서드입니다. 이 메서드를 호출하면 해당 정규식이 패턴과 플래그를 포함한 형태로 그대로 문자열화되어 출력됩니다.예를 들어 new RegExp(fox, g)로 생성한 정규식에 toString()을 호출하면 /fox/g라는 문자열이 반환됩니다.RegExp toString() 기본 문법regexObj.toString();별도의 매개변수 없이 정규식 객체에서 바로 호출하며, 패턴과 플래그가 슬래시(/)
JavaScript date.@@toPrimitive() 함수란?JavaScript의 date.@@toPrimitive() 함수는 Date 객체를 원시 값(primitive value)으로 변환하는 데 사용됩니다. 이 메서드는 Symbol.toPrimitive 심볼 속성에 정의되어 있으며, 힌트(hint) 매개변수를 통해 반환할 원시 값의 유형을 지정할 수 있습니다.힌트로 사용할 수 있는 값은 다음과 같습니다.default – 기본 동작에 따라 문자열 형태의 날짜를 반환합니다.number – 1970년 1월 1일부터 경과한 밀리초
웹 개발을 하다 보면 사용자가 모바일 기기로 접속했는지 여부에 따라 다른 동작을 처리해야 하는 경우가 자주 있습니다. 이번 글에서는 JavaScript의 navigator.userAgent 속성과 정규식(Regular Expression)을 활용해 모바일 브라우저를 간단하게 감지하는 방법을 알아보겠습니다.핵심 원리브라우저는 자신의 정보를 담고 있는 userAgent 문자열을 제공합니다. 이 문자열에 iPhone, iPad, iPod, Android 같은 모바일 기기 키워드가 포함되어 있는지 정규식으로 검사하면 해당 기기가 모바일인지
JavaScript에서 사용자가 누른 화살표 키(방향키)를 감지하려면 keydown 이벤트 리스너와 event.keyCode 값을 활용하면 됩니다. 각 화살표 키는 고유한 keyCode를 가지며, 그 값은 다음과 같습니다. 37: 왼쪽 화살표 키 38: 위쪽 화살표 키 39: 오른쪽 화살표 키 40: 아래쪽 화살표 키 예제 다음은 <body> 요소에 keydown 이벤트를 등록하고, switch 문으로 눌린 화살표 키를 판별한 후 화면에 결과를 출력하는 전체 코드입니다. <!DOCTYPE html> <
JavaScript는 웹 페이지에서 사용자와 소통할 수 있도록 세 가지 중요한 대화 상자(dialog box)를 지원합니다. 이러한 대화 상자는 사용자에게 알림 메시지를 표시하거나, 특정 작업에 대한 확인을 받거나, 사용자로부터 직접 입력을 받아야 할 때 유용하게 활용됩니다. 지금부터 각 대화 상자의 특징과 사용 방법을 하나씩 살펴보겠습니다. JavaScript의 세 가지 대화 상자 1. alert() – 경고 대화 상자 alert()는 사용자에게 간단한 메시지를 전달하는 가장 기본적인 대화 상자입니다. 확인 버튼 하나만 제공되
JavaScript의 File.size 속성은 웹 API에서 제공하는 기능으로, 사용자가 선택한 파일의 크기를 바이트(byte) 단위로 반환합니다. 이 속성은 File 객체에서 읽기 전용(read-only)으로 동작하며, 파일 업로드 전에 크기 제한을 검사하거나 파일 정보를 화면에 표시할 때 매우 유용하게 활용됩니다.아래 예제는 <input type=file> 요소를 통해 파일을 선택하면, 해당 파일의 이름과 크기를 실시간으로 화면에 출력하는 코드입니다.예제 코드<!DOCTYPE html> <html la
JavaScript File Web API의 file.type 속성은 해당 파일의 미디어 타입(MIME 타입)을 나타내는 읽기 전용 속성입니다. 예를 들어 PNG 이미지 파일이라면 image/png, PDF 문서라면 application/pdf와 같은 문자열이 반환됩니다.만약 브라우저가 파일의 타입을 판별할 수 없는 경우에는 빈 문자열()이 반환된다는 점도 함께 기억해 두면 좋습니다.주요 특징파일 확장자가 아닌 MIME 타입을 반환합니다.타입을 알 수 없으면 빈 문자열()을 반환합니다.읽기 전용 속성이므로 값을 직접 변경할 수 없습
JavaScript의 arrayBuffer.slice() 메서드는 기존 ArrayBuffer 객체의 일부를 복사하여 새로운 ArrayBuffer를 반환합니다. 복사 범위는 시작 인덱스(begin)부터 종료 인덱스(end)까지이며, 이때 begin은 포함되고 end는 제외됩니다.기본 문법arrayBuffer.slice(begin, end)begin: 복사를 시작할 인덱스 (포함). 음수 값을 지정하면 버퍼 끝에서부터 계산됩니다.end: 복사를 종료할 인덱스 (제외). 생략하면 버퍼의 끝까지 복사됩니다.arrayBuffer.slice(
JavaScript에서 배열(Array)을 다룰 때 가장 자주 사용되는 기본 메서드들을 소개합니다. 이 메서드들을 익혀두면 배열에 요소를 추가하거나 삭제하는 작업을 손쉽게 처리할 수 있습니다.기본 배열 메서드 한눈에 보기메서드설명Array.push()배열의 맨 뒤에 하나 이상의 요소를 추가합니다.Array.pop()배열의 맨 뒤에서 요소를 제거하고 그 요소를 반환합니다.Array.unshift()배열의 맨 앞에 하나 이상의 요소를 추가합니다.Array.shift()배열의 맨 앞에서 요소를 제거하고 그 요소를 반환합니다.Array.s