영문자 대소문자, 숫자로만 구성
let regex = /^[a-zA-Z0-9]+$/;
let str = "abc123";
console.log(regex.test(str)); // true
공백을 포함한 숫자와 대소문자로 구성
let regex = /^[a-zA-Z0-9\s]+$/;
let str = "Hello World";
console.log(regex.test(str)); // true
한글, 대문자, 특수문자, 공백을 포함
let regex = /^[가-힣a-zA-Z0-9\s~!@#$%^&*()_+|<>?:{}\[\];',./]+$/;
let str = "안녕하세요! World 123";
console.log(regex.test(str)); // true
숫자 확인
const regex = r"^-?\d+(\.\d+)?$"
let str = "123" // true
let str = "-456.789" // true
let str = "3.14" // true
let str = "1e10" // true (과학적 표기법)
let str = "hello" // false
let str = "123.45a" // false
강력한 비밀번호
function validatePassword(password) {
const strongPasswordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
return strongPasswordRegex.test(password);
}
const password = "Password123!";
console.log(validatePassword(password)); // true
- 최소 8자리 이상
- 대문자, 소문자, 숫자, 특수문자 각각 1개 이상 포함
일반 이메일 주소
function validateEmail(email) {
const emailRegex = /^[가-힣a-zA-Z0-9._-]+@[가-힣a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return emailRegex.test(email);
}
const email = "your.email@com.com";
if (validateEmail(email)) {
console.log("유효한 이메일 주소입니다.");
} else {
console.log("유효하지 않은 이메일 주소입니다.");
}
전화번호
const phoneNumber = "010-1234-5678";
const phoneNumberRegex = /^\d{2,3}-\d{3,4}-\d{4}$/;
if (phoneNumberRegex.test(phoneNumber)) {
console.log("유효한 전화번호입니다.");
} else {
console.log("유효하지 않은 전화번호입니다.");
}
- 한국: 010-1234-5678, 02-1234-5678
- 미국: (123) 456-7890, 123-456-7890
- 영국: +44 1234 567890
사업자등록번호
const businessNumber = "123-45-67890";
const businessNumberRegex = /^\d{6}-\d{2}-\d{5}$/;
if (businessNumberRegex.test(businessNumber)) {
console.log("유효한 사업자등록번호입니다.");
} else {
console.log("유효하지 않은 사업자등록번호입니다.");
}
년월일(yyyy-mm-dd) 형식
function isValidDate(dateString) {
const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
return dateRegex.test(dateString);
}
const validDate = '2023-11-22';
const invalidDate = '2023-13-32';
console.log(isValidDate(validDate)); // true
console.log(isValidDate(invalidDate)); // false
728x90
'웹개발 > javascript' 카테고리의 다른 글
[자바스크립트] 이벤트 버블링, 캡처링, 위임 (0) | 2024.08.04 |
---|---|
[자바스크립트] 불변 데이터 패턴 (0) | 2024.08.01 |
[자바스크립트] Debounce와 Throttle의 차이점 (0) | 2024.08.01 |
[자바스크립트] 네이밍 규칙 (0) | 2024.08.01 |
[자바스크립트] 클로저(Closure) 이해하기 (0) | 2024.07.30 |