从一段文本里批量提取手机号、邮箱、网址(另附座机、身份证号与 IP),支持去重、排序与明细统计
手机号邮箱网址提取:把一段文本粘贴进来,批量抽出其中的**手机号、邮箱、网址**(还可勾选**座机、身份证号、IP 地址**),结果可一键复制。支持去重、按出现顺序或内容排序,并按类型给出数量统计与逐条明细。
几条容易被忽略但很要紧的规则,全部在结果里写明:① **边界优先** —— 手机号要求前后都不是数字,所以 18 位身份证号、订单号、银行卡号里的 11 位数字串**不会被误截**成手机号;② **写法归一** —— `+86 138-1234-5678`、`138 1234 5678`、`8613800138000` 都会归一成 11 位,因此能正确去重为同一个号码;③ **身份证真校验** —— 不只是凑够 18 位,还按 ISO 7064:1983 MOD 11-2 算加权校验位、并检查出生日期是否真实存在,结论逐条列出;④ **网址去尾标点** —— `https://example.com。` 这种中文句号结尾会把标点切掉,不带着标点当成网址的一部分。
四种提取类型各自的范围:手机号**只支持中国大陆 11 位**(与参考页面说明一致,不支持国外号码);邮箱要求域名含点、顶级域名至少两位字母;网址支持 http/https 链接与 www 开头的裸域名;座机要求以 0 开头的区号加 7~8 位号码;IP 地址只认 IPv4 且每段在 0~255 之间。
两点如实说明:文本只在处理时提交给你本机运行的服务端,**不写库、不落盘、不做统计**;同时请确保你对所处理的文本拥有合法使用权 —— 提取他人通讯录用于骚扰或推销是违法的。
能。`+86 138-1234-5678`、`138 1234 5678`、`(86)13800138000` 这些写法都会被识别,并且统一归一成 11 位数字(去掉 86 前缀与空格、连字符),所以同一个号码的不同写法在开启去重后会合并成一条,出现次数也会累加。
不会。手机号规则要求前后都不能是数字,而 18 位身份证号里的任何 11 位片段两侧都是数字,因此不会被截取出来。这一条正是很多简单用 `\d{11}` 匹配的工具会出错的地方 —— 它们常把身份证号、订单号、银行卡号里的数字串当成手机号。
不支持,只提取中国大陆的 11 位手机号(1 开头、第二位 3~9),这也是参考页面明确写出的限制。如果你的文本里含国外号码,它们不会被提取出来,也不会影响其他类型的提取。
先匹配 18 位(末位可为 X),再按 ISO 7064:1983 MOD 11-2 的前 17 位加权求和取模,算出应有的校验码与末位比对,同时检查第 7~14 位出生日期的年月日是否真实存在。结果里会单独列出每一条的结论(校验位通过 / 校验位不通过 / 出生日期无效),方便把录入错的号码挑出来。
支持 `https://` 与 `http://` 开头的完整链接,也支持 `www.` 开头的裸域名(如 www.example.com/path?a=1)。末尾的中英文标点(句号、逗号、括号、引号等)会自动切掉,所以「访问 https://example.com。」不会把中文句号当成网址的一部分;同一网址结尾有无斜杠也会合并成一条。
不会。文本只在处理时提交给你本机运行的服务端做匹配,返回结果后即丢弃,既不写数据库也不落盘,没有第三方统计。同时也提醒一句:请确保你对所处理的文本拥有合法使用权,把提取到的号码用于骚扰、推销或倒卖属于违法行为。