언제 쓰나
전화번호·이메일·주소 같은 글자가 "정해진 규칙에 맞게" 적혔는지 확인하고 싶을 때, 또는 긴 글에서 원하는 부분만 뽑아내고 싶을 때 씁니다. 규칙을 조금씩 바꿀 때마다 결과가 바로 눈에 보여서, 처음 써 보는 사람도 손으로 익히기 좋습니다.
사용법
맨 위에 찾을 규칙을 쓰고, 그 옆의 g · i · m · s · u · y 옵션으로 세부
동작을 조절합니다. 오른쪽에서 "맞은 부분" 이 색으로 표시됩니다. 자주
쓰는 규칙(전화번호·이메일·IP 등) 은 아래 버튼으로 한 번에 불러올 수
있습니다.
옵션이 하는 일
- g — 모든 일치를 찾습니다 (꺼 두면 첫 번째 하나만).
- i — 대소문자를 무시합니다.
Hello와hello가 같다고 봄. - m — 여러 줄 모드. 줄 단위로 규칙을 적용할 때.
- s — "줄바꿈도 어떤 한 글자로 친다" 는 옵션.
- u — 한글·이모지 같은 유니코드 글자를 정확히 다룹니다.
- y — 특정 위치에서만 찾기 (고급).
한국 입력값 8 패턴 (프리셋)
도구의 "자주 쓰는 규칙" 라이브러리에 8 종이 등록되어 있어 클릭으로 바로 적용됩니다. 모두 JavaScript ES2018+ 기준.
- 휴대폰 번호 —
/^(01[016789])-?(\\d{3,4})-?(\\d{4})$/010·011·016·017·018·019 시작 + 3~4자리 + 4자리. 하이픈 선택. 캡처 그룹 3 개로 010-1234-5678 형태로 정규화 가능. - 주민등록번호 —
/^\\d{6}-?[1-4]\\d{6}$/6 자리 생년월일 + 하이픈(선택) + 성별/세기 코드(1~4) + 6 자리. 마지막 자리 체크 디지트 검증은 별도 알고리즘. 주의 — 입력 단계 즉시 마스킹 권장 (개인정보보호법 §23 민감정보). - 우편번호 (5자리) —
/^\\d{5}$/2015 년 도로명 주소 시행 후 5자리로 통일. 이전 6자리 (123-456) 는 미사용. - 사업자등록번호 —
/^\\d{3}-?\\d{2}-?\\d{5}$/3 + 2 + 5 = 10 자리. 하이픈 선택. 체크 디지트 검증은 별도. AdSense 신청·세금계산서 등에 필요. - 한글만 허용 —
/^[가-힣]+$/가나다 음절 영역 (U+AC00 ~ U+D7A3) 만. 자모 분리 (ㄱ + ㅏ) 거부. 사용자 이름 입력 등에. caveat — 한자·영문 mixed 이름 ("Lee 영희") 은 거부 → UX 확인. - 이메일 —
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/실용적 단순화. RFC 5322 완전 패턴 대안. 99% 잡지만 IDN (한글 도메인) 미지원. 엄격한 검증은 인증 메일 발송으로. - URL (http/https) —
/^https?:\\/\\/[\\w.-]+(?::\\d+)?(?:\\/[^\\s]*)?$/프로토콜 + 호스트 + 선택적 포트 + 선택적 path. ftp·file 거부. - IPv4 — 각 옥텟 0–255 cap.
192.168.0.1✓,256.0.0.1✗.
자주 막히는 지점
- 한글이 안 잡힐 때 —
\\w같은 기호는 한글을 포함하지 않습니다.[가-힣]으로 쓰거나,u옵션을 켜 보세요. - 점·물음표 같은 기호 그 자체를 찾고 싶을 때 — 이 기호들은 규칙
기호로 이미 쓰입니다. 앞에
\\를 붙이면 "그 기호 그대로" 의 뜻이 됩니다. 예:3\\.14는 "3.14" 글자를 찾음. - 너무 많이 잡힐 때 —
.*는 "아무거나 가능한 많이" 입니다. 최소한만 잡으려면.*?로 쓰세요. - 처리가 멈춘 듯할 때 —
(a+)+같은 모양은 끝없이 맞춰 보는 덫에 빠질 수 있습니다. 0.5초를 넘기면 자동으로 멈추고 안내를 띄웁니다. - 대상 글이 100KB 를 넘을 때 — 브라우저 속도 보호를 위해 막습니다. 한 번에 테스트할 양을 조금 줄여 주세요.
패턴은 Worker + 500ms 가드
ReDoS 취약 패턴은 Web Worker + 500ms 타임아웃으로 자동 차단. 입력 100KB 상한. 패턴과 대상 텍스트 모두 페이지 안에서만 실행됩니다.