어떤 상황에서 쓰나요
회의록이나 오래된 메일 스레드, 게시글 댓글에서 흩어진 이메일 주소·전화번호·참고 링크만 모아야 할 때 쓰는 도구입니다. 텍스트를 붙여넣으면 종류별로 목록을 만들고, 같은 항목은 한 번만 보여 줍니다. 전화번호는 하이픈, 점, 공백으로 구분된 표기를 숫자 기준으로 비교해 '010-1234-5678'과 '010 1234 5678'을 같은 번호로 간주합니다. 결과는 처음 등장한 순서를 유지합니다.
정규식은 어떻게 찾나요
세 가지 패턴을 각각 적용합니다. 이메일은 "영문·숫자·점·밑줄·퍼센트·플러스·하이픈 + @ + 도메인 + 점 + 영문 2자 이상" 형태이고, 전화번호는 0으로 시작하는 지역번호·휴대전화 번호(02-345-6789, 010-1234-5678), +82로 시작하는 국제 표기(+82-10-1234-5678), 1588-1234처럼 1500~1999 범위(이 패턴은 15~19로 시작하는 8자리를 모두 허용하며, 실제 대표번호는 주로 15xx·16xx·18xx)로 시작하는 8자리 대표번호입니다. URL은 http:// 또는 https://로 시작해 공백이나 따옴표, 꺾쇠가 나오기 전까지이며, 문장 끝에 붙은 마침표·쉼표와 짝이 맞지 않는 닫는 괄호는 제외합니다. 아래 표는 같은 정규식을 샘플 문장에 적용한 실제 결과이며, 페이지를 만들 때 코드로 계산했습니다.
| 입력 문장 | 이메일 | 전화번호 | URL |
|---|---|---|---|
| 문의: [email protected], 담당 010-1234-5678 / 02-345-6789 | [email protected] | 010-1234-5678 , 02-345-6789 | (없음) |
| 전화 +82-10-1234-5678 / (02) 345-6789 / 010 1234 5678 | (없음) | +82-10-1234-5678 , 010 1234 5678 | (없음) |
| 대표번호 1588-1234, 지점 031-1234-5678 | (없음) | 1588-1234 , 031-1234-5678 | (없음) |
| 주문번호 20241012345678, 계좌 110-123-456789, 날짜 2024-10-12 | (없음) | (없음) | (없음) |
| 자세한 내용은 (https://ko.wikipedia.org/wiki/한글_(문자)). 끝. | (없음) | (없음) | https://ko.wikipedia.org/wiki/한글_(문자) |
| 홍길동@example.com test@localhost 이름@도메인.한국 | (없음) | (없음) | (없음) |
| www.example.com 과 example.com 은 프로토콜이 없음 | (없음) | (없음) | (없음) |
표에서 읽어야 할 한계
- 한글 아이디·도메인은 놓칩니다. '홍길동@example.com'이나 '이름@도메인.한국' 같은 국제화 주소는 영문 패턴 정규식에 걸리지 않습니다(위 표의 6번째 행). 반대로 'test@localhost'처럼 최상위 도메인이 없는 주소도 제외됩니다.
- 괄호로 시작하는 전화번호는 놓칠 수 있습니다. '(02) 345-6789'는 지역번호와 번호 사이에 괄호와 공백이 있어 일치하지 않습니다(2번째 행). 반면 '+82-10-1234-5678'과 '010 1234 5678'은 잡힙니다.
- 번호처럼 보이는 숫자는 오탐이 될 수 있습니다. 주문번호와 계좌번호, 날짜(4번째 행)는 걸러졌지만, 우연히 0으로 시작하는 10~11자리 숫자나 '1588-1234' 모양의 다른 번호는 전화번호로 잡힐 수 있습니다. 결과는 눈으로 한 번 더 확인하세요.
- URL에서 괄호 처리는 근사치입니다. 위키피디아 주소처럼 괄호가 주소의 일부인 경우와 문장용 괄호를 완벽히 구분할 수는 없어 괄호 짝을 세는 규칙을 썼습니다(5번째 행은 정상 처리).
- 프로토콜이 없는 주소는 찾지 않습니다. 'www.example.com'이나 'example.com'은 URL로 취급하지 않습니다(마지막 행). 일반 단어와 구분이 어려워 의도적으로 제외했습니다.
- 이메일 형식의 완전한 검증이 아닙니다. 이메일 주소의 표준 규격은 훨씬 복잡해서 정규식 하나로 모든 유효 주소를 정확히 가리기 어렵습니다. 추출된 주소가 실제로 사용 가능한지는 이 도구가 알 수 없습니다.
정규식을 직접 고쳐 보고 싶다면 정규표현식 테스터에 위 표현식을 붙여넣어 실험할 수 있고,자주 쓰는 정규표현식 패턴 모음에서 다른 패턴과의 차이를 볼 수 있습니다.
검산한 마스킹 예시
'결과를 마스킹해서 표시'를 켜면 화면과 복사 결과에서 일부를 가립니다. 전화번호는 마지막 4자리만 남기고 숫자를 *로 바꾸며(010-1234-5678 → ***-****-5678, 02-345-6789 → **-***-6789), 이메일은 아이디의 첫 글자와 도메인만 남깁니다([email protected] → k*************@example.co.kr). 목록을 팀 채팅이나 보고서에 붙일 때 원본을 그대로 노출하지 않으려는 용도이며, 마스킹은 보기용일 뿐 원본 텍스트에서 정보를 지워 주지는 않습니다.
경계 사례: 구분 기호와 붙어 있는 번호
실제 텍스트에는 샘플 문장보다 지저분한 표기가 많습니다. 아래 표는 같은 정규식과 같은 중복 제거 규칙을 경계 사례에 적용한 결과입니다. 표의 이메일 열은 대소문자를 구분하지 않고 중복을 제거한 뒤, 먼저 나온 표기를 남긴 값입니다.
| 입력 문장 | 이메일 | 전화번호 | URL |
|---|---|---|---|
| 01012345678 / 0212345678 | (없음) | 01012345678 , 0212345678 | (없음) |
| 010.9876.5432, 031 123 4567 | (없음) | 010.9876.5432 , 031 123 4567 | (없음) |
| 070-1234-5678, 080-123-4567 | (없음) | 070-1234-5678 , 080-123-4567 | (없음) |
| 010-1234-56789 | (없음) | (없음) | (없음) |
| 010-1234-5678010-1234-5678 | (없음) | (없음) | (없음) |
| mailto:[email protected]?subject=hi | [email protected] | (없음) | (없음) |
| https://a.com/[email protected]&t=1 | [email protected] | (없음) | https://a.com/[email protected]&t=1 |
| [email protected] 와 [email protected] | [email protected] | (없음) | (없음) |
| http://example.com:8080/a/b#top, 그리고 https://example.com. | (없음) | (없음) | http://example.com:8080/a/b#top , https://example.com |
- 구분 기호가 없어도 잡힙니다. 하이픈 없이 붙여 쓴 01012345678이나 0212345678도 번호로 인식됩니다. 반대로 숫자가 한 자리 더 붙은 010-1234-56789처럼 끝이 단어 경계가 아니면 통째로 제외됩니다.
- 번호가 붙어 있으면 둘 다 놓칩니다. 010-1234-5678010-1234-5678처럼 번호 두 개가 공백 없이 이어지면 하나도 인식되지 않습니다. 붙여넣기 전에 번호 사이에 줄바꿈이나 공백을 넣어 주세요.
- URL 안의 이메일은 따로 잡힙니다. 주소창 링크 안에 [email protected] 같은 매개변수가 있으면 이메일 목록에도 올라옵니다. 링크가 개인 식별 정보를 품고 있을 수 있다는 뜻이기도 하니, URL 목록을 외부에 공유하기 전에 매개변수를 확인하세요.
- mailto: 접두사는 제외됩니다. mailto:[email protected]에서는 주소 부분만 추출되고 뒤의 ?subject=hi 같은 조각은 이메일 목록에 포함되지 않습니다.
- 이메일은 대소문자를 합쳐 셉니다. [email protected]와 [email protected]는 같은 항목으로 보고 먼저 나온 표기만 남깁니다. 실제 메일 시스템에서 아이디 부분의 대소문자 구분은 서비스마다 다를 수 있지만, 연락처를 정리하는 용도에서는 같은 주소로 보는 편이 중복이 적습니다.
- 국제 표기와 국내 표기는 다른 번호로 셉니다. 전화번호의 중복 판정은 숫자만 남겨 비교하므로 +82-10-1234-5678(숫자 821012345678)과 010-1234-5678(숫자 01012345678)은 같은 사람의 번호라도 두 항목으로 나옵니다.
사용 시나리오
시나리오 1. 학부모 단체 대화방 공지에서 담당자 연락처만 모으기. 학교 행사 안내문이 길게 이어질 때, 붙여넣고 ‘이메일 주소’와 ‘전화번호’만 체크하면 문의처만 모입니다. 대화방 전체를 붙여넣으면 학부모 개인 번호가 대량으로 섞일 수 있으니, 공지 글 하나만 선택해 붙여넣고 결과도 공유 범위를 정한 뒤 옮기세요.
시나리오 2. 오래된 메일 서명을 정리하는 영업 담당자. 몇 년 치 메일에서 거래처 담당자의 서명 블록을 복사해 붙여넣으면 이메일, 대표번호, 홈페이지 주소가 분리됩니다. 서명에는 (02) 123-4567처럼 괄호 표기가 많아 전화번호가 일부 누락될 수 있으므로, 결과 개수와 원본에서 눈으로 센 개수를 한 번 비교해 보세요.
시나리오 3. 게시글에 노출된 내 연락처 점검. 내가 올린 글이나 이력서 텍스트에 이메일과 전화번호가 얼마나 들어 있는지 확인하려는 용도입니다. 마스킹을 켜고 추출하면 노출되는 항목의 종류와 개수를 확인할 수 있고, 공개 게시물에는 필요한 연락처만 남기는 방법도 고려해 볼 수 있습니다. 이미 유출됐는지 점검하는 방법은 개인정보 유출 확인 가이드에서 다룹니다.
추출 결과를 정리하는 순서
- 범위 정하기. 필요한 항목(이메일, 전화번호, URL)만 체크합니다. 필요 없는 종류를 끄면 불필요한 개인정보가 화면에 남는 일을 줄일 수 있습니다.
- 원본과 개수 대조. 결과 위쪽에 표시되는 개수와 원본에서 눈으로 센 개수를 비교합니다. 개수가 모자라면 앞의 한계 목록에서 해당하는 표기가 있는지 확인하세요.
- 복사 전 마스킹 여부 결정. 팀 채팅이나 문서에 붙일 목록이라면 마스킹을 켠 상태로 복사합니다. 마스킹된 값은 이후 연락에 쓸 수 없으므로 실제 연락용 목록은 따로 안전한 곳에서 관리해야 합니다.
- 붙여넣은 뒤 정리. 스프레드시트에 붙여넣을 때는 한 줄에 한 항목이 들어가므로 열 하나에 그대로 들어갑니다. 전화번호 앞의 0이 사라지지 않도록 셀 서식을 텍스트로 먼저 지정하세요. 다른 형식으로 변환이 필요하면 CSV·JSON 변환기를 쓸 수 있습니다.
- 사용 후 폐기. 입력창의 원본과 복사한 결과는 작업이 끝나면 지우고, 메신저나 메모 앱에 임시로 붙여 둔 내용도 함께 정리하세요.
개인정보와 처리 방식
이 페이지의 추출·복사 스크립트는 입력창 문자열에 정규식을 적용하는 브라우저 내부 계산이며, 입력을 서버로 보내는 네트워크 요청 코드(fetch, XMLHttpRequest 등)가 없습니다. 복사 버튼도 브라우저의 클립보드만 씁니다. 다만 이 사이트는 광고 스크립트를 따로 불러오므로, 사용하는 브라우저 확장 프로그램이나 공용 PC의 상태까지 보장할 수는 없습니다. 타인의 실명 연락처가 대량으로 들어 있는 텍스트는 공용 컴퓨터에서 다루지 않는 것이 안전합니다.
추출한 연락처를 어떻게 쓰는지가 더 중요합니다. 개인의 이메일 주소와 전화번호는 개인정보에 해당할 수 있어, 수집 목적 안에서 필요한 범위만 다루는 것이 원칙입니다. 추출한 주소로 광고성 메일이나 문자를 보내는 것은 수신자의 사전 동의 등 관련 법령(개인정보 보호법, 정보통신망법 등)의 요건을 따로 충족해야 하며, 이 도구의 사용이 그 요건을 대신해 주지 않습니다. 구체적인 적용은 공식 안내나 전문가에게 확인하세요.
결과 활용법
추출한 목록은 종류별 복사 버튼으로 가져가 스프레드시트나 주소록에 붙여넣으세요. 원본에 같은 줄이 반복된다면 먼저 중복 줄 제거기로, 줄 끝 공백이나 빈 줄을 정리하려면 텍스트 공백·줄바꿈 정리기로 다듬은 뒤 추출하면 결과가 깔끔합니다. 두 번의 추출 결과를 비교해 달라진 연락처를 찾으려면 텍스트 비교 도구가 편리합니다.
자주 묻는 질문
추출된 목록의 순서는 어떻게 정해지나요?
원본 텍스트에 처음 등장한 순서 그대로 나열됩니다. 같은 항목이 여러 번 나와도 목록에는 한 번만 표시되며, 전화번호는 하이픈·공백 표기가 달라도 숫자가 같으면 같은 번호로 보고 먼저 나온 표기를 남깁니다.
국가번호가 붙은 전화번호나 단축 URL도 인식되나요?
+82로 시작하는 국내 번호의 국제 표기는 인식합니다(+82-10-1234-5678). 다른 나라 번호는 인식하지 못합니다. URL은 http:// 또는 https://로 시작하면 단축 URL도 추출됩니다.
입력한 텍스트가 서버로 전송되나요?
이 도구의 스크립트는 입력을 외부로 전송하지 않고 브라우저 안에서 처리합니다. 다만 페이지에는 광고 스크립트가 별도로 포함되어 있으니 민감한 자료는 신중히 다루세요.
이메일 주소가 실제로 존재하는지도 확인하나요?
아니요. 문자열 형태만 보고 찾으며 존재 여부나 수신 가능 여부는 확인하지 않습니다. 오타가 있어도 형식이 맞으면 추출됩니다.
입력한 텍스트나 결과가 저장되나요?
이 페이지의 스크립트는 입력과 결과를 localStorage나 쿠키 등에 저장하는 코드를 갖고 있지 않습니다. 페이지를 새로고침하거나 닫으면 입력창의 내용은 사라집니다. 다만 브라우저가 입력 내용을 자동 복원하거나 클립보드 기록 도구가 복사한 내용을 따로 보관할 수 있으니, 중요한 자료는 작업 후 클립보드와 입력창을 비우세요.
마스킹하면 원본 텍스트도 가려지나요?
아닙니다. 마스킹은 아래쪽 결과 칸과 복사되는 내용에만 적용되고, 위쪽 입력창의 원본은 그대로 남습니다. URL 목록에는 마스킹이 적용되지 않는다는 점도 기억하세요. 링크의 매개변수에 포함된 정보는 가려지지 않습니다.
이 도구로 모은 연락처로 홍보 메일을 보내도 되나요?
도구는 문자열을 찾아줄 뿐이고, 그 연락처를 어떤 목적으로 쓸 수 있는지는 수집 경위와 동의 여부, 관련 법령에 따라 달라집니다. 광고성 정보 전송에는 별도의 요건이 있을 수 있으니 공식 안내나 전문가에게 확인하세요.
전화번호가 하나도 안 잡히는 이유는 무엇인가요?
번호가 숫자 사이에 다른 문자가 끼어 있거나 (02)처럼 괄호로 감싼 형태, 11자리 이상 숫자 덩어리 속에 들어 있는 경우 인식되지 않습니다. 표기를 하이픈 형태로 바꾼 뒤 다시 시도해 보세요.