zzyyjj1 2022-06-15 11:14 采纳率: 75%
浏览 89
已结题

修改google的libphonenumber电话号码识别开源算法!

问题遇到的现象和发生背景

目前用c#程序在谷歌搜索号码,把搜索描述中文本用
开源的google 号码识别库“libphonenumber”来判断文本文件是否包含电话号码
存在的问题:
需要增加一些号码规则
比如:6285755730687 判断是无效的
+6285755730687 增加了+判断是有效的
前面加了0或00判断都是无效的号码
06285755730687 或006285755730687都判断无效

验证地址:
https://catamphetamine.gitlab.io/libphonenumber-js/
下载地址:
https://github.com/google/libphonenumber

问题相关代码,请勿粘贴截图

1没有+的正确号码判断无效6285755730687 无法识别
2添加了0或者00的代码判断06285755730687 无法识别

运行结果及报错内容

复制文本到https://catamphetamine.gitlab.io/libphonenumber-js/ 底部提示错误
No phone numbers found

我的解答思路和尝试过的方法

需要帮忙重新编译libphonenumber,改JS源码,添加刚才的号码判断规则

我想要达到的结果

去掉+ 6285755730687号码判断有效,
添加0或者00的号码判断有效06285755730687或006285755730687

请加V 186 8035 7299

  • 写回答

3条回答 默认 最新

  • zzyyjj1 2022-06-15 11:34
    关注

    对应正则表达式算法在 libphonenumber-master\resources的
    PhoneNumberMetadata.xml和PhoneNumberAlternateFormats.xml


    以下是程序调用libphonenumber的代码
    function parsePhone(content: string) {
    const numberFounds = findPhoneNumbersInText(content, 'US');
    const phones: string[] = [];
    for (const numberFound of numberFounds) {
    phones.push(numberFound.number.number.toString().replace(/[+ -]/g, ''));
    }
    return phones;
    }

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月15日
  • 修改了问题 6月15日
  • 修改了问题 6月15日
  • 修改了问题 6月15日
  • 展开全部

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改