提取手机号
提取手机号,是指把一段文字、一份报名表或网页源码里的手机号、固话与 400 号一次抓出来,去重、判号段运营商、配上姓名,整理成能导入通讯录的清单。138 0013 8000、全角 138 与中文数字 一三八〇〇 都会还原成 11 位,身份证与订单号里形状合法的 11 位不会误提,138****8000 只标注不猜。在小鹿tools,提取在浏览器本地完成、文本不上传,不查归属地、不验证号码在不在用。
粘进来就能用:138 0013 8000、+86 138-0013-8000、一三八〇〇… 都认得,身份证与订单号里的 11 位数字不会被误提。原文一个字都不会被改动。
如何使用提取手机号
直接粘贴文本提取手机号最省事,也可以拖入 .txt / .md / .html / .htm / .csv / .tsv / .log / .json / .vcf / .xml 这些纯文本文件(单文件 10 MB 以内,按 UTF-8 读取)。要做网页源码提取手机号,就在浏览器里按 Ctrl+U 打开网页源代码、全选复制再粘进来,模式会自动切到「HTML 源码」并显示判定结果,判错了可以一键改回来。
选一个预设(提取全部号码 / 只要手机号 / 整理通讯录 / 导拨号清单 / 按运营商分组 / 脱敏输出 / 只要标准写法),或者手动勾选 9 种抽取来源与 8 条排除规则。要按类型、运营商、号段前缀、固话区号筛选的,在「整理」一栏里填就行;「更长数字串里的不算号码」这一条是常驻不可关的,关掉它工具就变成从身份证里挖手机号的机器了。
看统计条与 16 张统计卡(提取到、去重后、手机号、固话、400 与服务号、各运营商条数、未知号段、配到姓名、还原防抓写法、打码号码、带分机、没提出来),再按需要切换 14 种输出格式:纯数字每行一个、逗号或分号分隔、138-0013-8000 分隔式、138 0013 8000 空格式、E.164、脱敏 138****8000、姓名,号码、tel: 列表、按运营商分组、十一列 TSV 与 CSV、JSON、vCard,然后复制或下载 .txt / .csv / .vcf。对结果有疑问就看「没提出来的位置」表,每一处都写清了原因。
关于提取手机号的常见问题
- 提取手机号会上传我的通讯录吗
- 不会。在线提取手机号最常见的顾虑就是这份名单会不会被传走,先把这件事说死:扫描、判号段、配对姓名、去重统计全部在你的浏览器里用 JavaScript 完成,文本不发送到任何服务器,关闭页面即清除。手机号是个人信息保护法明确列举的个人信息,所以本工具按站内最严的标准处理:浏览器本地也不保存任何号码或文本内容,只记住你勾了哪些来源、用哪种输出格式这类参数偏好。这也是本页不做任何号码查询功能的原因——查归属地、查在网状态都必须联网,那就等于把你手上这份名单交出去。本工具还是只读的,输入框里的原文一个字都不会被改动,结果是新产生的一份清单。
- 提取手机号能顺便查归属地吗
- 不能,而且这是刻意的,不是没做完。归属地要一份几十万行的号段库并持续更新,还涉及数据许可问题,纯前端加载它既慢又越界。本页只按号段给出运营商这一层信息(一张公开号段的对照表,就在下面正文里),不查省市、不查城市、不查机主。归属地查询会由站内单独的工具提供,上线后本页会加内链。顺带说一句:本页统计里的固话区号那一栏也只给区号数字,不给城市名,理由一样。
- 提取手机号能验证号码是否在用吗
- 不能。判断一个号码是否还在网,必须联网向运营商侧查询,纯前端做不到,能做到也意味着要把号码上传出去。本工具只做手机号格式校验:位数对不对、是不是 1 开头且第二位在 3 到 9 之间、号段在不在表里、固话区号形状是否合法、400 是不是 10 位。格式合法不代表这个号还在用,也不代表打过去有人接。所谓的空号检测、实名查询、风险评分,本页一概不做。
- 正则提取手机号为什么会误提身份证号
- 因为 18 位身份证里几乎总能凑出一段 1 开头、第二位在 3 到 9 之间的 11 位数字,而 1\d{10} 这类正则只看这 11 位长什么样,不看它两边还有没有数字。银行卡 19 位、订单号 20 多位、毫秒时间戳 13 位都是同一个问题,最糟的是挖出来的很可能是别人真实存在的号码,你照着打电话、发短信、导进 CRM 才发现不对。本工具的第一条硬规则就是:候选号码两侧不能紧邻数字,整串连续数字必须能被完整解释成一个号码才产出,从来不从中间切一段。这条规则不提供关闭开关,页面上那个勾选框是常驻禁用的,旁边写着原因。
- 138 0013 8000 怎么变成 11 位手机号
- 粘进本页直接就是干净的 13800138000,不用手动删。138 0013 8000、138-0013-8000、1380 013 8000、+86 138 0013 8000、(010)1234-5678 这些写法都会被识别并规范化,而且空格分组只在命中已知分组模板(3-4-4、3-8、4-4-4、400 的 3-3-4 等)时才接受——否则「138 0013 8000 元」这类金额会被误吃。四种写法指向同一个号码时会自动合并成一条并显示出现次数,每条被去掉了什么符号,清单里都挂着角标可以点开看,也能一键切回原样值。
- 中文数字手机号一三八〇〇怎么还原
- 能,这正是本工具和裸正则最大的差别。招聘帖、二手交易、论坛签名、朋友圈文案里为了不被程序抓走,号码大量写成一三八〇〇一三八〇〇〇、幺三八零零幺三八零零零、壹叁捌零零壹叁捌零零零,或者全角的 13800138000、字母代数字的 138OO138000、HTML 实体的 138。这些写法都会被还原,还原之后还要再跑一次完整的形状校验才产出——校验不过就宁可不提,绝不替你造一个不存在的号码。字母代数字这条额外加严:串里必须已经有 8 个以上真数字,而且字母不能出现在首尾,否则「Tel13800138000」里的那个 l 会被当成 1 把号码毁掉。每条还原出来的号码都保留着原文,可以逐条核对,也可以单条撤销。
- 手机号中间四位星号怎么办,能还原吗
- 不能,任何声称能还原的都是在编。中间四位有一万种可能,缺失的信息不会因为工具而回来。本工具的做法是:识别出它是一个打码号码、单独标注、计入统计,但不猜。更要紧的是它绝不与完整号码合并去重——如果把 138****8000 和 13800138000 合成一条,你会以为找到了一个号,其实是一万个候选里的一个。138xxxx8000、1380013**** 这些写法同样识别,掩码字符永远不会被映射成任何数字。要把原文里的号码打码是查找替换的活,本页只读,不改你的原文。
- 手机号号段 138 和 192 分别属于哪家运营商
- 正文里有完整的号段对照表:134 到 139、150/151/152、157 到 159、182 到 184、187/188 这些是移动,130 到 132、155/156、166、185/186 是联通,133、153、177、180/181、189 是电信;19x 这一段最容易记错,它是四家分着用的——190/191/193/199 是电信,195/197/198 是移动,196 是联通,192 是 2022 年放号的中国广电,别整段划给谁。162/165/170/171 是虚拟运营商转售、还会按第四位细分到承载它的基础运营商。但必须如实说明两件事:一是 2019 年 11 月携号转网全国放开后,号段只能作为参考,同一号段的号码可能已经转到别家;二是号段表会滞后于最新放号,所以本工具不会因为号段不认识就拒绝提取,只会标一句「未知号段」——白名单式过滤会把你手上最新放号的号码静默漏掉,那是用户最不能接受的错误。
- 港澳台手机号怎么提取,国际号码认吗
- 能识别,但默认不提取。+852 9123 4567(香港)、+853 6612 3456(澳门)、+886 912 345 678(台湾)以及其他带加号的 E.164 国际号码,分属「港澳台号码」与「其他国际号码」两种抽取来源,默认都是关掉的——大陆语料里带加号的长数字串更多是编号而不是电话,默认提出来只会拉高误报。要它们就在来源里勾上,勾上后单独归类、置信度记「中」方便复核;不勾也不会被静默丢掉,每一条都会计入「没提出来的位置」并写明「该抽取来源未勾选」。两点如实说明:一是本工具不判国际号码属于哪个国家,只按 E.164 原样保留,也不判港澳台号码的运营商;二是必须写成带加号的形式才认,00852 9123 4567 这种不带加号的写法不会被当成香港号码。大陆号码是唯一的例外——通讯录导出里常见的 8613800138000 与 008613800138000 不带加号也认,只是置信度记「中」。
- 提取手机号导出 vcf 通讯录怎么导入手机
- 在输出格式里选 vCard,下载得到 .vcf 文件,用微信、邮件或数据线传到手机后点开导入即可,Windows 的「联系人」与 macOS 的「通讯录」也能直接打开。生成的是 VERSION:3.0 卡片:配到姓名的写进 FN,没配到的用号码占位(FN 留空会让部分手机的通讯录导入失败);手机号写成 TEL;TYPE=CELL,固话与 400 写成 TEL;TYPE=WORK,VOICE,号码一律用 E.164 形式,也就是 +8613800138000 这种带国家码的写法,换设备换地区都不会拨错。三条边界先说清楚:分机号不会写进 vCard,010-12345678 转 8001 导出的是 +861012345678,分机只留在 CSV 的分机列里;打码号码也会生成一张卡片、TEL 就是 138****8000 这个残缺串,导入前建议先在类型筛选里去掉它;.vcf 固定不加 UTF-8 BOM,导入程序按 UTF-8 读,多一个 BOM 反而可能让开头的 BEGIN:VCARD 认不出来。
- 提取手机号导入 Excel 变成科学计数法怎么办
- 本工具的 CSV 默认把号码列按文本导出(写成 ="13800138000" 的形式),Excel 打开就是完整的 11 位,固话前面的 0 也不会被吃掉。Excel 会把长数字串当成数值处理,13800138000 显示成 1.38E+10、01012345678 变成 1012345678,是这类工具最高频的投诉。如果你要关掉这个选项导出裸值,页面会明确警告后果。手动解决办法是:在 Excel 里先把目标列的格式设成「文本」,再粘贴数据。复制十一列 TSV 直接贴进表格时也是同样的顺序:先设列格式,再粘。
- 提取手机号导出 CSV 中文姓名会乱码吗
- 不会。页面上「下载文件带 UTF-8 BOM」默认就是勾着的,下载的 .txt 与 .csv 都带 UTF-8 BOM,用 Excel 或 Windows 记事本直接打开,配对到的中文姓名、「中国移动」「固话无区号」这些中文字段都正常显示。别处导出的 CSV 在 Excel 里变成一堆问号或方块,几乎都是同一个原因:文件是 UTF-8 但没有 BOM,Excel 就按系统默认的 GBK 去读。要把 CSV 喂给程序或数据库时 BOM 反而是个多余字符,把这个勾去掉即可。两个例外说清楚:一是「复制」按钮走的是剪贴板,不经过文件编码这一层,直接粘进 Excel 不存在乱码问题;二是 .vcf 通讯录固定不加 BOM,因为导入程序按 UTF-8 读,多一个 BOM 反而可能让开头的 BEGIN:VCARD 认不出来。号码本身在 Excel 里变成 1.38E+10 是另一回事,那是数值格式问题,见上一条。
- 提取手机号和姓名怎么自动配对
- 能,这是整理通讯录时最省事的一步。张三 13800138000、张三:138-0013-8000、13800138000(张三)、张三,13800138000,邮箱 这样的表格行、以及 <a href="tel:...">张三</a> 的锚文本,五种写法都能配对到姓名,可以直接导成「号码,姓名,类型,运营商,次数」的 CSV 或 vCard 通讯录文件。配不到姓名就留空——本工具不会从号码反推姓名,也不会把「联系电话」「手机」这类标签词当成人名。如果同一个号码在两处配到了不同姓名,清单里会保留第一个并标注「另有 N 个不同姓名」,合并通讯录时这正是要发现的冲突。
- 提取手机号能不能连座机和 400 电话一起提
- 能。固话支持 010-12345678、(010)12345678、0755 1234 5678 以及「转 8001」的分机写法,分机不同视为不同号码,也可以一键丢弃分机把它们合并。400 与 800 企业号支持 400-123-4567 与 400-1234-567 两种分组,95588、10086、12315 这类服务号与 110、120 紧急号也能识别并单独归类。不需要它们的时候,点「只要手机号」预设或在类型筛选里只勾手机号就行,被滤掉的条数会有提示,不会悄悄少几条。有一条要特别说明:没写区号的 8 位裸号默认不提,只有左边写着「电话:」这类标签词时才以中等置信度提出来,并标上「固话无区号」——它永远不会和带区号的号码合并去重,因为不知道区号就不能假设是同城。
- 提取手机号后怎么去重和按运营商筛选
- 默认就按规范化后的 E.164 去重并显示每条出现了几次,13800138000、138-0013-8000、+86 13800138000、8613800138000 算同一条。去重口径还能改成只比纯数字串或按原文片段。筛选可以按类型(手机 / 固话 / 400 / 服务短号)、按运营商、按号段前缀(填 138,139,150)、按固话区号,也可以只要高置信度的标准写法,或者每个运营商最多取 N 条做抽样。这些整理步骤的施加顺序是固定的:先按来源筛,再打标记,然后按标记排除、按内容筛,接着去重,再施加每组上限,最后排序——上限必须在去重之后,否则重复项会占满配额;筛选必须在去重之前,否则出现次数会算错。顺序错了不会报错,只会悄悄少几条。
- 提取手机号和用查找替换有什么区别
- 用 1\d{10} 在编辑器或批量查找替换里搜一遍五分钟就能做完,但真实文本里处处是坑:身份证、银行卡、订单号、时间戳里都会挖出假号码,QQ 号和验证码会混进来,「138 元」被当成号码,网址和邮箱里的数字跟着来,138 0013 8000 和 一三八〇〇… 完全漏掉,同一号码的不同写法没去重,姓名也丢了。而且这些错误不会报错,只会悄悄给你一份坏清单。本页把这些判断做成勾选项,并把每一处「为什么没提出来」都列出来。你本来就会写正则、要完全自定义规则,用正则测试器更合适;要把号码从原文里删掉、替换或打码,用批量查找替换——本页只读,不改你的原文。
- 提取手机号免费吗有没有字数限制
- 完全免费,不用注册、不用下载软件,也不加水印,9 种来源、7 个预设、防抓写法还原、姓名配对与「没提出来的位置」这些功能都不分免费版付费版。原因很实在:提取全部由你自己的浏览器算完,站点不承担计算成本。限制只来自浏览器性能:建议单个文件 10 MB、单次 500 万字以内,超过 20 万字后不再边打边出结果,改成点「开始提取」再分片计算,带进度、可以随时取消,触到上限时页面会明确写出已处理到哪里,不会静默丢内容。结果清单默认展开前 20 条、「没提出来的位置」记录前 500 处,复制与下载拿到的都是完整数据。
- 手机上能用提取手机号工具吗
- 能,用手机浏览器打开本页粘贴文字就能提,不用装 App、不用注册,提取同样在手机本地完成、文字不上传。移动端做过适配:预设按钮会自动换行排开,来源与排除规则的勾选框在窄屏下一行一项铺满,结果清单与「没提出来的位置」这两张表在手机上会换成卡片式,一条记录一张卡、每个字段单独一行并在左边写明字段名,不用左右拖着看。要特别说明一点:清单里的号码是纯文本、不可点击,不会生成 tel: 超链接,免得你在手机上误触直接拨了出去。从微信群聊、备忘录、招聘帖里复制过来的一大段文字,正好用默认的「提取全部号码」预设一次把号码都捞出来。
- 提取手机号支持哪些文件格式
- 直接粘贴文字是最省事的路径,不受文件格式限制;要拖文件的话,支持 .txt、.md、.html、.htm、.csv、.tsv、.log、.json、.vcf、.xml 这些纯文本文件,单个文件 10 MB 以内,一律按 UTF-8 读取,遇到 GBK 或被改了扩展名的二进制文件会明确提示「该文件不是 UTF-8 纯文本,请另存为 UTF-8 后重试」,而不是给你一堆乱码。.docx、.xlsx、.pdf 这类二进制文档本页不解析:Word 请先用 Word 转 TXT 转成文本,Excel 用 Excel 转 CSV,PDF 直接全选复制正文粘过来就行。
提取手机号、提取电话号码和提取号码有什么区别
三种说法覆盖的范围不一样,选错预设就会多提或少提。下面这张表是本页的口径, 也是七个预设默认勾了哪些类型的依据。
| 说法 | 通常指什么 | 在本页怎么做 |
|---|---|---|
| 提取手机号 | 只要 11 位大陆移动号码:1 开头、第二位在 3 到 9 之间 | 点「只要手机号」预设,或在类型筛选里只勾手机号 |
| 提取手机号码 | 与上一行是同一件事,中文里「号」和「号码」在这个语境不分 | 同上。本页正文统一写「手机号」,导出的 CSV 表头写「号码」 |
| 提取电话号码 | 把座机、400 与服务短号都算上——口语里的「电话」通常包含固话 | 默认的「提取全部号码」预设就是这个范围,四类各自单独归类 |
| 提取号码 | 最宽的说法,说话人心里可能还装着订单号、快递单号、工号 | 这些不是电话,本页一律不提;要它们请用「提取数字」 |
从一段文字里提取所有手机号,用默认的「提取全部号码」预设就够了;只要 11 位移动号就点「只要手机号」。 批量提取电话号码与批量提取手机号的差别只在类型筛选那一栏——前者留着固话、400 与服务短号, 后者把它们滤掉,滤掉了多少条页面会写出来,不会悄悄少几条。 要提的是订单号、金额、编号这类数字,请用提取数字。
手机号提取器和手机号码提取工具是同一类工具吗
是同一类,叫法不同而已,但从叫法能看出用户停在哪一步:说手机号提取器的,多半只要「把号码抓出来」这一步; 说手机号码提取工具的,通常还要后面的整理——去重、配姓名、导出 CSV 或通讯录。本页两段都做, 差别只在点哪个预设:只要号码本身就用「提取全部号码」,要往通讯录或 CRM 里导就用「整理通讯录」, 后者会多做三件事——按 E.164 去重、配姓名、把号码列按文本写进 CSV。
英文语料里这件事写成 extract phone numbers from text;找网页版工具时搜的是 phone number extractor online;要的是认中国大陆号段那一类,写成 china mobile number extractor。 最后这层差别在本页是真实存在的边界:号段与运营商判定只覆盖大陆号码, 港澳台与其他国家的号码按 E.164 原样保留,不判运营商、也不判国家。
提取手机号支持哪些写法:9 种来源完整对照表
下面这张表和页面的提取实现共用同一份数据,看到什么就一定按什么提。每一种来源都能单独勾选或关闭, 关掉之后文本里的这类号码会进入「没提出来的位置」表并写明「该抽取来源未勾选」,而不是悄悄消失。
| 来源 | 例子 | 说明 | 默认 |
|---|---|---|---|
| 手机号 | 13800138000 | 中国大陆 11 位手机号,1 开头且第二位是 3~9,两侧不能紧邻数字。 | ✔ 勾选 |
| 固话与分机 | 010-12345678 转 8001 | 区号 3~4 位 + 本地号 7~8 位,支持括号区号与「转 8001」分机写法;分机不同视为不同号码。 | ✔ 勾选 |
| 400 与服务号 | 400-123-4567 / 95588 | 400 与 800 企业号(10 位)、95/96 短号、10086 与 12315 一类特服号,以及 110/120 紧急号。 | ✔ 勾选 |
| tel: 链接 | <a href="tel:13800138000">张三</a> | tel: 协议链接里的号码,锚文本会一并配对成姓名;号码区间直接取自「提取链接」,两个工具口径永远一致。 | ✔ 勾选 |
| 防抓写法 | 138 0013 8000 / 一三八〇〇一三八〇〇〇 | 空格分组、全角数字、中文数字(含「幺」与大写「壹贰叁」)、字母代数字,还原后必须整体通过校验才产出。 | ✔ 勾选 |
| 打码号码 | 138****8000 | 中间被星号或 x 打码的号码。**只识别、标注、计数,绝不还原**——缺的四位有 1 万种可能。 | ✔ 勾选 |
| HTML 属性值 | <span data-phone="13800138000"> | data-phone、content、value、title 等属性里的号码,仅 HTML 源码模式下生效。 | ✔ 勾选 |
| 港澳台号码 | +852 9123 4567 | +852 / +853 / +886 开头的号码,默认跳过并计数,勾上才提。 | ✘ 关闭 |
| 其他国际号码 | +1 415 555 0100 | 带 + 号的其他国家 E.164 号码,默认跳过并计数;本工具不判它属于哪个国家。 | ✘ 关闭 |
提取手机号时哪些位置不算电话号码
误报率是这类工具的生死线,所以判定分成两层。第一条「更长数字串里的不算号码」是写死的硬规则,没有任何开关能把它关掉——页面上那个勾选框是常驻禁用的,旁边写着原因。其余七条管的是「范围」,可以单独开关, 每条旁边都会实时显示它跳过了多少处,点开就能逐条核对。
| 规则 | 作用 | 默认 |
|---|---|---|
| 更长数字串里的不算号码(不可关) | 18 位身份证、19 位银行卡、20 位订单号、13 位时间戳里都藏着形状合法的 11 位数字。整串数字必须能被完整解释成一个号码才产出。这条**不提供关闭开关**:关掉它,工具立刻变成「从身份证里挖手机号」的机器,而挖出来的往往是别人真实存在的号码。 | ✔ 开启 |
| 网址里的数字不算号码 | https://a.com/order/13800138000、?mobile=138… 里的数字一律不提。网址区间直接取自「提取链接」,两个工具口径永远一致。 | ✔ 开启 |
| 邮箱里的数字不算号码 | 13800138000@qq.com 里的 11 位数字不提。邮箱区间直接取自「提取邮箱」。 | ✔ 开启 |
| 标着 QQ / 订单号的不提 | 左边写着「QQ:」「微信号」「订单号」「身份证」「卡号」这类负向标签词时不提。注意「微信同号」是正向标签,长词优先匹配。 | ✔ 开启 |
| 日期与金额不提 | 右边跟着「元」「年」「日」这类单位词、左边有 ¥ 或 $、或整串就是 2026-08-11 / 19980313 这类日期形态时不提。 | ✔ 开启 |
| 代码块里的不提 | Markdown 代码围栏与行内代码里的号码不提。默认关闭——README 里的联系电话往往正是你要提的。 | ✘ 关闭 |
| HTML 注释里的不提 | <!-- --> 注释区间里的号码不提,它们通常是被注释掉的旧内容。 | ✔ 开启 |
| 示例号不提 | 13800138000 这类各家文档里的固定示例号不提。默认关闭:默认提出来并打「示例号」标,因为它也可能就是你要找的那条。 | ✘ 关闭 |
提取手机号的 7 个一键预设分别做什么
每个预设都是一整套参数,点一下就换整套,不会在你当前的勾选上叠加。 它们全部用同一个示例串做对照,页面上可以横向比较同一段文字在不同预设下的结果。
所谓一键提取手机号,指的就是这七个预设:点一下换掉整套参数(抽取来源、排除规则、整理与输出格式), 不用一项一项勾。用得最多的是「整理通讯录」——批量提取手机号并去重、配姓名、导出 CSV 这一串动作它一次做完; 「导拨号清单」正好相反,只留纯数字、每行一个,方便直接喂给拨号软件。
| 预设 | 做什么 | 典型场景 |
|---|---|---|
| 提取全部号码 | 全来源(不含港澳台与国际号)+ 全部默认排除规则 + 按 E.164 去重 + 保持原顺序。 | 通用抽取,进页默认就是它 |
| 只要手机号 | 只留 11 位手机号,固话、400 与服务号全部滤掉。 | 群发前整理收件人、导入通讯录 |
| 整理通讯录 | 配对姓名 + 去重,输出「号码,姓名,类型,运营商,次数」的 CSV,号码列按文本导出防 Excel 科学计数法。 | 报名表、名片、群成员导出 → Excel |
| 导拨号清单 | 只要号码、去重、纯数字每行一个,不带任何符号。 | 导入拨号软件 / 手机通讯录 / CRM |
| 按运营商分组 | 按号段判运营商并分组输出,同时给出运营商分布统计。 | 看这批号码的运营商构成 |
| 脱敏输出 | 结果统一输出成 138****8000,可以复制给同事而不泄露完整号码;**只改这里的输出,不改你的原文**。 | 汇报、截图、工单 |
| 只要标准写法 | 关闭防抓写法与打码来源、关闭空格分组,只提字面就是 13800138000、010-12345678 的号码,且只要高置信度。 | 对准确性要求最高、宁可少提的场景 |
为什么用 1\d{10} 正则提取手机号会出错
从文字中提取手机号,最快的做法是在编辑器或批量查找替换里写一条 1\d{10},这也是最容易得到一份坏清单的做法。 下面十二条是真实文本里几乎一定会遇到的情况,左边是裸正则给你的结果,右边是本工具给你的结果。
| 原文 | 裸正则的结果 | 提取手机号的结果 |
|---|---|---|
身份证 110101199003078888 | 挖出 11 位当手机号(18 位里总能凑出 1 开头的 11 位) | 不提。这里先命中「左边写着标签词」;把「身份证」三个字删掉照样不提,换成「这串数字在一串更长的数字里」 |
银行卡 6222021234567890123 | 19 位里同样能凑出 11 位(如 12345678901),照提 | 不提,两层判定同上:标签词在前,更长数字串的硬规则兜底 |
订单号 20260811138001380001 | 挖出 11138001380;写成 1[3-9]\d{9} 则正好挖出 13800138000 —— 一个真实存在但与你毫无关系的号码 | 不提。整串数字必须能被完整解释成一个号码才产出,删掉「订单号」也一样 |
时间戳 1700000000000 | 13 位挖出 11 位 | 不提(位数不对,也不许从中间切) |
QQ:1380013800 | 10 位不提,但 QQ:13800138000 就会被提 | 不提,左边写着「QQ:」 |
价格 13800138000 元 | 照提 | 不提,右边跟着「元」,这是金额不是号码 |
https://a.com/order/13800138000 | 照提 | 不提(网址区间直接取自「提取链接」) |
13800138000@qq.com | 照提 | 不提(邮箱区间直接取自「提取邮箱」) |
138 0013 8000 | 完全漏掉(正则里没有空格) | 识别分组模板并还原成 13800138000 |
一三八〇〇一三八〇〇〇 | 完全漏掉 | 还原成 13800138000,原文保留可逐条核对、可单条撤销 |
13800138000(全角) | 完全漏掉 | 显式映射还原,不用 NFKC |
同一号码写成 +86 138-0013-8000 与 13800138000 | 算两条 | 按 E.164 合并成一条,并标出出现了 2 次 |
前四条是这里唯一会造成实际业务损失的错误类别:从身份证、银行卡、订单号、时间戳里 挖出来的那 11 位,很可能是一个真实存在但与你毫无关系的号码。 照着它打电话、发短信、导进 CRM,麻烦的不只是你。所以本工具以整段连续数字为最小单位, 只有整串能被完整解释成一个号码时才产出,从来不从中间切一段。 要自己写规则请用正则测试器; 要把号码从原文里删掉、替换或打码请用批量查找替换——本页只读不改原文。
11 位手机号正则怎么写才不会误提身份证号
短答案:光写 1[3-9]\d{9} 不够,两侧还得加边界。 JavaScript 里可以写成 (?<!\d)1[3-9]\d{9}(?!\d), 前后两个否定环视保证候选号码左右都不紧邻数字。少了它们,身份证里的 11 位被当成手机号提出来就是必然结果 ——18 位数字里几乎总能凑出一段 1 开头、第二位在 3 到 9 之间的 11 位。 但环视只挡住「从更长数字串里挖」这一类;QQ 号、验证码、「138 元」这类金额、网址与邮箱里的数字, 以及 138 0013 8000、一三八〇〇… 这些写法,都还要另外写规则,这也是本页把判断做成勾选项的原因。
中国手机号号段对照表:哪个号段是哪家运营商
这张手机号号段对照表整理于 2026-08,和页面判运营商用的是同一份数据。它会滞后于最新放号,仅供参考,不作为权威依据; 下面几段讲的是为什么这份滞后不影响提取结果。
| 运营商 | 号段(手机号前 3 位) | 说明 |
|---|---|---|
| 中国移动 | 134 135 136 137 138 139 147 148 150 151 152 157 158 159 172 178 182 183 184 187 188 195 197 198 | 13x/15x/18x 的主力号段,147/148 早期为数据卡号段,195/197/198 为近年新放号。 |
| 中国联通 | 130 131 132 145 146 155 156 166 167 175 176 185 186 196 | 130~132 是最早的一批,166 与 196 为近年新放号。 |
| 中国电信 | 133 149 153 173 174 177 180 181 189 190 191 193 199 | 190/191/193/199 为近年新放号,早期只有 133/153/189。 |
| 中国广电 | 192 | 第四家基础运营商,2022 年正式放号,很多老工具的号段表里根本没有它。 |
| 虚拟运营商(转售) | 162 165 170 171 | 转售号段,170/171 按第 4 位细分到承载它的基础运营商,见 PH_VIRTUAL_BASE。 |
手机号 138 是哪个运营商,192 是什么号段
138 属于中国移动,是 1999 年前后放出的一批老号段,也是各家文档里最常拿来当示例的一段; 192 属于中国广电,2022 年才开始放号,是四家里最新的一个。19x 这一段最容易记错,因为它被四家分着用:190、191、193、199 是电信, 195、197、198 是移动,196 是联通,192 是广电——整段划给谁都会错。 上面那张表按运营商分组列全了,判一个号码归谁,看前 3 位即可。
携号转网后手机号号段还能判运营商吗
只能当参考。2019 年 11 月携号转网在全国放开后,一个 138 开头的号码完全可能 已经转到联通或电信,号段与实际运营商不再一一对应。所以本页在结果区常驻一行说明,导出的 CSV 表头里也写一份——这是同类工具最容易说错、也最容易被 AI 交叉验证出来的知识点, 与其含糊带过,不如把话说清楚。 至于 170、171 这类虚拟运营商转售号段,本工具还会按第 4 位细分到 承载它的基础运营商(如 1700/1701/1702 转售自中国电信),清单里写成 「虚拟运营商(转售自中国电信)」这样的完整表述。
号段不在对照表里的手机号会被漏掉吗
不会,这是本工具一个刻意的工程取舍。号段几乎每年都在新增,如果拿号段表当白名单去过滤, 你手上最新放号的那个号码就会被静默判成「不是手机号」——而这恰恰是用户最不能接受的错误。 所以本工具的硬门槛只有形状规则:1 开头、第二位在 3 到 9 之间、总共 11 位。号段不在表里照常提取,只标一句「未知号段」并在页面上说明这是正常现象。 需要严格模式的用户可以打开「号段必须在表内」,默认是关的。 这与提取邮箱对域名后缀用白名单的做法正好相反, 理由也很直接:域名后缀几年才变一次,号段每年都变。
138****8000 能还原成完整的手机号吗
不能。中间被遮掉的四位有一万种可能,缺失的信息不会因为工具而回来, 任何声称能还原的都是在编。本工具的做法是把它识别出来、单独标注、计入统计,但绝不猜:138****8000、138xxxx8000、1380013**** 这些写法都会被认成「打码号码」,清单里用灰底显示,掩码字符永远不会被映射成任何数字。
还有一条容易被忽略但同样要紧:打码号码绝不与完整号码合并去重。 如果把 138****8000 和 13800138000 合成一条, 你会以为找到了一个确定的号码,其实它只是一万个候选里恰好也符合的一个。 所以打码号码按原文片段单独成条,出现次数也单独统计。 要给号码打码而不是提取打码号码,用批量查找替换; 本页的「脱敏输出」只影响这里的输出字符串,不会改你的原文,也不会改清单里的号码。
一三八〇〇… 这类防抓写法的手机号怎么还原
中文互联网的招聘帖、二手交易、论坛签名、朋友圈文案里,手机号大量以防抓形式出现。 不还原这些写法,在真实语料上的召回率会直接腰斩。下面这张表和实现共用同一份数据。
| 类别 | 原文写法 | 还原结果 | 说明 |
|---|---|---|---|
| 分隔 | 138-0013-8000 | 13800138000 | 连字符分组,命中已知分组模板才接受。 |
| 空格分组 | 138 0013 8000 | 13800138000 | 只在命中 3-4-4 / 3-8 / 4-4-4 等分组模板时接受,否则「138 0013 8000 元」这类会被误吃。 |
| 点分隔 | 138.0013.8000 | 13800138000 | 默认**不**接受——与 IP、版本号、金额冲突太大,需要时可单独打开。 |
| 全角数字 | 13800138000 | 13800138000 | 走显式映射表还原,不用 NFKC。 |
| 中文数字 | 一三八〇〇一三八〇〇〇 | 13800138000 | 含「幺」与「洞」等口语写法;「两」刻意不启用,「两三万」会炸。 |
| 大写数字 | 壹叁捌零零壹叁捌零零零 | 13800138000 | 财务写法,同样还原后再校验。 |
| 字母代数字 | 138OO138000 | 13800138000 | 高风险,已加严:串内须已有 8 个以上真数字,且字母不能出现在首尾。 |
| 国家码 | +86 138 0013 8000 / 8613800138000 | 13800138000 | 去掉 +86 / 0086 / 86 并打「带国家码」标;不带 + 号的写法置信度记 medium。 |
| 括号区号 | (0755)1234-5678 | 075512345678 | 括号配平后取区号,全角半角括号都认。 |
| 分机 | 010-12345678 转 8001 | 01012345678 分机 8001 | 分机单独存一列,分机不同视为不同号码。 |
| 打码 | 138****8000 / 138xxxx8000 | 不还原 | **只识别、标注、计数**。中间四位有 1 万种可能,还原就是编造,也绝不与完整号码合并去重。 |
手机号中间有空格怎么去掉,不用一个个手删
粘进来就是干净的 13800138000,空格不用手删。这里有个刻意留下的限制: 只有命中已知分组模板时才合并空格——3-4-4(138 0013 8000)、3-8、4-4-4, 400 号是 3-3-4。不设这道限制,「138 0013 8000 元」这类金额、 「订单 2026 0811 1380」这类编号都会被当成号码吃进来。 连字符、括号、国家码前缀同理,去掉了什么在清单里都挂着角标,点开能看到原样值,也能一键切回去。
防抓写法还原后为什么要再校验手机号
因为宁可不还原,也不能造出一个假号码。还原出来的串会重新跑一次完整的形状校验 ——位数、前缀、两侧不能紧邻数字——不通过就整条丢弃并记一笔「还原后不是合法号码」。 另外两类高风险写法额外加严:字母代数字(O → 0、l → 1) 要求串内已有 8 个以上真数字且字母不在首尾,否则 Tel13800138000 里的 l 会被当成 1 把号码毁掉;中文的「两」不参与映射(「两三万」会炸), 「点」也不参与(那是小数点,与 IP 冲突)。 下面这张表是每一处改写对应的开关,改了什么在清单里都能逐条看到,也能一键切回原样值。
| 规范化开关 | 做什么 | 默认 |
|---|---|---|
| 去掉号码里的分隔符 | 138 0013 8000、138-0013-8000 → 13800138000,改动会逐条记进「改了什么」。 | ✔ 开启 |
| 去掉 +86 国家码 | +86 / 0086 / 86 前缀去掉并打「带国家码」标;输出 E.164 格式时再加回来。 | ✔ 开启 |
| 全角数字转半角 | 138 → 138。走显式映射表,不用 NFKC——那会把 ①、² 一起变形。 | ✔ 开启 |
| 中文数字转阿拉伯数字 | 一三八〇〇一三八〇〇〇、幺三八零零… → 13800138000。还原后必须整体通过校验才产出。 | ✔ 开启 |
| 字母代数字还原 | 138OO138000 里的 O → 0、l → 1。**高风险,已加严**:串内必须已有 8 个以上真数字,且字母不能在首尾。 | ✔ 开启 |
| 保留固话分机号 | 010-12345678 转 8001 里的 8001 单独存一列;关闭后丢弃分机,并在「改了什么」里写明丢了哪个分机。 | ✔ 开启 |
整段文字都是全角的,建议先用全角半角转换转成半角再提;只是零星几个全角数字的,本页在还原阶段直接处理,不必转换。
提取固话号码时区号和分机怎么算合法
固话比手机号麻烦:区号有 3 位也有 4 位,本地号有 7 位也有 8 位,还可能带分机。 本工具按下面这张表逐条判定,判不出来的会写明是哪一条不合格。
| 原文 | 提取结果 | 依据 |
|---|---|---|
010-12345678 | 区号 010 + 本地号 8 位 | 10/2x 开头的 3 位区号后面固定跟 8 位本地号 |
0755-1234-5678 | 区号 0755 + 本地号 8 位 | 4 位区号后跟 7 或 8 位,分几段写都认 |
(0755)1234-5678 | 区号 0755 | 括号配平后取区号,全角半角括号都认 |
0371-1234567 | 区号 0371 + 本地号 7 位 | 不少地市的本地号仍是 7 位 |
010-12345678 转 8001 | 号码 + 分机 8001 | 分机单独存一列,分机不同视为不同号码 |
12345678(没写区号) | 默认不提 | 光看 8 位数字无法与订单号、编号区分;左边写着「电话:」时才以中等置信度提出并标「固话无区号」 |
电话:12345678 与 010-12345678 | 永远算两条 | 不知道区号就不能假设它们是同城的同一个号——合并了就是把两家单位的电话并成一个 |
400-123-4567 / 400-1234-567 | 都是 4001234567 | 400 与 800 是 10 位,两种分组写法都常见 |
95588 / 10086 / 12315 | 服务短号 | 95/96 短号与特服号单独归类,可一键只要手机号 |
最后一条值得单独说:没写区号的号码永远不与带区号的合并去重。12345678 和 010-12345678 看起来像同一个号,但你并不知道那个裸号是不是北京的, 合并了就等于把两家单位的电话并成一个,而这种错在导出之后基本发现不了。 本工具内置的区号表也只存区号数字、不存城市名——「0755 是哪个城市」是区号查询工具的活,本页不答。
提取座机号码和提取固话号码是一回事吗
是一回事。座机、固话、固定电话是同一类号码的三种叫法,本页统一写「固话」, 结果清单的类型列、统计卡和导出的 CSV 表头也都用这个词,免得同一份表里三种叫法混着出现。 唯一要分清的是「固话无区号」这个标记:它说的是文本里那串号码本身没写区号, 不是说这个号码没有区号——所以带这个标记的条目永远不与带区号的号码合并去重。
提取 400 电话和 95 开头的服务短号怎么归类
400 与 800 企业号是 10 位,400-123-4567 与 400-1234-567 两种分组写法都认,归到「400 与服务号」这一类,不会混进手机号的统计里。 95588、96xxx 这类银行与运营商短号,以及 10086、12315、110、120,归「服务短号」。 客服工单和合同附件里这两类号码常和回访手机号混在一起, 点「只要手机号」预设、或在类型筛选里取消勾选就能一次滤掉,滤掉几条页面会写出来。
提取手机号导出 Excel 变成 1.38E+10 怎么办
这是这类工具最高频的实际痛点。Excel 打开 CSV 时会把长数字串当成数值处理:13800138000 超过它的显示宽度,就用科学计数法显示成 1.38E+10;01012345678 作为数值时前导零没有意义,直接被吃掉变成 1012345678。 号码一旦被这样改掉,你从表格里再复制出来就是错的。
本工具的做法是:CSV 的号码列默认按文本导出,写成 ="13800138000" 这种 Excel 认得的文本单元格形式,打开就是完整的 11 位,固话前面的 0 也保得住。 这个选项可以关掉导出裸值,但关掉时页面会明确警告后果。 另外以 =、+、-、@ 开头的单元格会做公式注入防护 ——+8613800138000 这种 E.164 写法正好是 + 开头,不防护的话 Excel 会把它当公式执行。
手动解决办法也说一下:在 Excel 里先选中目标列、把单元格格式设成「文本」,再粘贴数据。 复制十一列 TSV 贴进表格时是同样的顺序,先设格式再粘。 下载的 CSV 默认带 UTF-8 BOM,中文姓名不会乱码;要接着做成 xlsx,用CSV 转 Excel。
Excel 手机号前面的 0 没了还能补回来吗
补不回来。那个 0 是在 Excel 把整列当成数值的那一刻丢掉的,单元格里已经不存在了, 事后再把格式改成「文本」,也只会得到 1012345678 这个少了一位的残值。 能做的只有回到原始文本重新导一次,并且在导出之前就让号码列以文本形式写出。 这也是本页把「号码列按文本导出」设成默认开着、而不是让你事后补救的原因—— 这类错误最难受的地方在于,表格看上去一切正常,只有对着原文逐条核才发现少了一位。
提取手机号后清单里的标记是什么意思
每条号码都会被打上若干个中性标记,统计卡与筛选条件都建在这套标记上。 这些标记只陈述事实,不下结论——比如「规律号」只表示这串数字是全同或顺子形态, 不代表它是假号码。
| 标记 | 含义 |
|---|---|
| 打码 | 中间几位被星号或 x 遮掉,无法还原 |
| 示例号 | 各家文档里的固定示例号,如 13800138000 |
| 规律号 | 全同或顺子形态,只陈述事实不下结论 |
| 未知号段 | 号段不在本表内,多半是最新放号,已照常提取 |
| 虚拟运营商 | 162/165/170/171 转售号段 |
| 卫星号段 | 1349/1740 等卫星通信号段 |
| 物联网号段 | 140~144 等数据卡号段 |
| 带国家码 | 原文写着 +86 / 0086 / 86 |
| 带分隔符 | 原文用空格、连字符分了组 |
| 已还原 | 经过全角、中文数字或字母代数字还原,原文可逐条核对 |
| 带分机 | 固话带分机号,分机不同视为不同号码 |
| 固话无区号 | 没写区号,无法与带区号的号码合并去重 |
| 有标签词 | 左边写着「手机」「联系电话」,置信度更高 |
还有一层是置信度:标准的 11 位裸串、带正向标签词的、来自 tel: 链接的、 用连字符按已知模板分组的记「高」;空格分组、未知号段、没写区号的固话、 不带加号的 8613800138000、字母代数字还原出来的、国际号码记「中」。 选「只要标准写法」时中等置信度的条目会被一次滤掉,并逐条计入「没提出来的位置」。
提取手机号一般用在哪些场景:7 个真实用法
| 场景 | 怎么做 |
|---|---|
| 报名表提取手机号生成通讯录 | 把导出的表格整段复制粘进来,点「整理通讯录」预设:姓名会跟号码配对,同一个号码的多种写法合并成一条并标出出现次数,输出一份含号码、姓名、类型、运营商、次数的 CSV。号码列默认按文本导出,Excel 打开就是完整的 11 位,不会变成 1.38E+10。 |
| 聊天记录提取手机号导出拨号清单 | 从聊天记录里复制过来,点「导拨号清单」预设,输出纯数字每行一个、不带任何符号,直接导进拨号软件、手机通讯录或 CRM。也可以下载 .vcf 通讯录文件,配到姓名的会写进 FN 字段,没配到的用号码占位。聊天记录的特点是号码前后常跟着「我手机」「打这个」这类口语,标签词只看紧挨号码的那一段,不会因为多几个字就漏提。 |
| 群成员手机号整理与去重 | 群成员导出的名单里,同一个人常被记了好几遍:一处写 13800138000,一处写 138-0013-8000,还有一处带着 +86。按规范化后的 E.164 去重,这三处会合成一条并标「出现 3 次」;写成 138****8000 的那条不参与合并,因为中间四位未知,合了就等于把一万个候选当成了一个确定的号码。 |
| 名片文字提取电话和简历里的手机号 | 名片上的号码常写成 138 0013 8000 或 1380 013 8000,简历里则是「联系电话:138-0013-8000」,这些写法都能识别。座机 010-12345678 转 8001 的分机会单独拆出来一列,400 售后电话也会单独归类。 |
| 客服工单里提取手机号做回访 | 工单正文里往往混着订单号、快递单号、身份证号和手机号。本页的第一条硬规则就是不从更长的数字串里挖号码,左边写着「订单号」「卡号」的也一律不提,跳过的每一处都会列在「没提出来的位置」里写明原因。 |
| 网页源码提取手机号和固话 | 在浏览器里按 Ctrl+U 打开网页源代码,全选复制粘进来,模式会自动切到「HTML 源码」:tel: 链接、data-phone 属性、正文里的号码以及 138 这类实体写法都会被提出来,<a href="tel:...">张三</a> 的锚文本还会当成姓名一并配对。 |
| Word、Excel、PDF 里的手机号怎么提取 | 本页不解析二进制文档。Word 请先用 Word 转 TXT 转成文本再粘进来,Excel 用 Excel 转 CSV,PDF 直接全选复制正文粘过来即可。提取后的 CSV 还能接 CSV 转 Excel 继续做表。 |
提取手机号算例:5 行文字能提出几个号码
把下面这 5 行按默认设置粘进来,结果是 5 条号码,另有 3 处写明原因的跳过。
张三 138-0013-8000,李四 15900000000
王五 联系方式 一三七〇〇一三七〇〇〇
座机 010-12345678 转 8001,售后 400-123-4567
订单号 20260811138001380001
身份证 110101199003078888,QQ:138001380013800138000:由138-0013-8000规范化而来,姓名取到「张三」, 号段 138 判为中国移动,同时标着「示例号」——它是各家文档里的固定示例号。15900000000:由全角15900000000还原,可逐条核对、可单条撤销;姓名列却是空的——姓名只认号码左边紧挨的那一段文字,而这里138-0013-8000,李四中间没有空格,被当成同一段,段里含数字就一律不认(否则上一个号码会被当成人名)。 把逗号后面加个空格,或者一行写一条,李四 就能配上。13700137000:由中文数字一三七〇〇一三七〇〇〇还原; 姓名列留空——「联系方式」这四个字不会被当成人名。01012345678与4001234567:固话带分机 8001 单独一列,400 号单独归类。
被跳过的三处是订单号、身份证和 QQ 号,「没提出来的位置」里这三处给的都是同一条原因 ——「左边写着「QQ:」「订单号」这类标签词,这不是电话号码」;把那几个标签词删掉仍然不提, 原因会换成「这串数字在一串更长的数字里」,也就是那条关不掉的硬规则接手。 同一段文字用 1\d{10} 提,拿到的是 11138001380 与 11010119900 两条从订单号和身份证里挖出来的假串,一条真号码都没有——三条真手机号分别写成分隔式、全角与中文数字,正则一条都碰不到。
要提的是邮箱而不是号码,用提取邮箱; 要提网址用提取链接; 要提数字、金额或订单号用提取数字; 已经是一列干净号码、只想按字面去重用文本去重。
最后一句中性提示:手机号属于个人信息,请在对方知情同意、且有合法依据的前提下使用。 本工具只负责把手上这段文字里的号码整理成清单,不提供发送短信、拨号、号码采集与号码生成功能。