【node】 地址标准化 解析手机号、姓名、行政区

地址标准化 解析手机号、姓名、行政区

  • 实现效果
  • 链接
  • 源码

实现效果

将东光县科技园南路444号马晓姐13243214321
解析为
东光县科技园南路444号 13243214321 河北省;沧州市;东光县;东光镇 马晓姐

 console.log(address, phone, divisions,name);

](https://img-blog.csdnimg.cn/direct/8091458b668f4eb2889b30a478766ef4.png)

链接

API概览
在这里插入图片描述

源码

https://github.com/thinkasany/nestjs-course-code/tree/master/sdk/address

// 依赖的模块可通过下载工程中的模块依赖文件或右上角的获取 SDK 依赖信息查看
import address_purification20191118, * as $address_purification20191118 from "@alicloud/address-purification20191118";
import OpenApi, * as $OpenApi from "@alicloud/openapi-client";
import Util, * as $Util from "@alicloud/tea-util";
import * as $tea from '@alicloud/tea-typescript';
import dotenv from 'dotenv';
dotenv.config();export default class Client {/*** 使用AK&SK初始化账号Client* @param accessKeyId* @param accessKeySecret* @return Client* @throws Exception*/static createClient(accessKeyId: string, accessKeySecret: string): address_purification20191118 {let config = new $OpenApi.Config({// 必填,您的 AccessKey IDaccessKeyId: accessKeyId,// 必填,您的 AccessKey SecretaccessKeySecret: accessKeySecret,});// Endpoint 请参考 https://api.aliyun.com/product/address-purificationconfig.endpoint = `address-purification.cn-hangzhou.aliyuncs.com`;return new address_purification20191118(config);}// API概览 https://help.aliyun.com/zh/address-purification/addrpapi/developer-reference/api-overview?spm=a2c4g.11186623.0.0.1ab8130cZZfm2Q// https://next.api.aliyun.com/api/address-purification/2019-11-18/CorrectAddressstatic async main(text: string): Promise<void> {// 请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET。// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例使用环境变量获取 AccessKey 的方式进行调用,仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378664.htmllet client = Client.createClient(process.env['ALIBABA_CLOUD_ACCESS_KEY_ID']!, process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET']!);const extractConfig = {serviceCode: "addrp",appKey: process.env['ALIBABA_CLOUD_appKey']!,text,}let extractAddressRequest = new $address_purification20191118.ExtractAddressRequest(extractConfig);let extractPhoneRequest = new $address_purification20191118.ExtractPhoneRequest(extractConfig);let getAddressDivisionCodeRequest = new $address_purification20191118.GetAddressDivisionCodeRequest(extractConfig);let extractNameRequest = new $address_purification20191118.ExtractNameRequest(extractConfig);let runtime = new $Util.RuntimeOptions({ });try {// 复制代码运行请自行打印 API 的返回值const addressData = await client.extractAddressWithOptions(extractAddressRequest, runtime);const phoneData = await client.extractPhoneWithOptions(extractPhoneRequest, runtime);const divisionsData = await client.getAddressDivisionCodeWithOptions(getAddressDivisionCodeRequest, runtime);const nameData = await client.extractNameWithOptions(extractNameRequest, runtime);const name = JSON.parse(nameData.body.data!)['person_extract'][0].wordconst address = JSON.parse(addressData.body.data!)['location_extract'][0].wordconst phone = JSON.parse(phoneData.body.data!)['phone_extract'][0].wordconst divisions = JSON.parse(divisionsData.body.data!)['division_info']['division_name']console.log(address, phone, divisions,name);} catch (error: any) {// 错误 messageconsole.log(error.message);// 诊断地址console.log(error.data["Recommend"]);Util.assertAsString(error.message);}     }}Client.main("东光县科技园南路444号马晓姐13243214321");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/277891.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node.js+postman+mongodb搭建测试注册接口的实现

准备工作 申请一个免费的MongoDB 到https://www.mlab.com注册申请一个500M的MongoDB数据库。登录后手动在创建Databases下的Collections中手动创建一个数据库node_app。 在个人首页点击Connect获取node.js连接MongoDB数据库的字符串为 1 mongodbsrv://<username>:<…

Elasticsearch的 8.x常用api汇总

ES的查询语法比较复杂,对于初学者需要在不断练习中才会逐渐掌握,本文汇总了ES各种查询语法以及常用api,可以作为新手的实用笔记 首先,安装 Kibana! 下载Elasticsearch,官方下载页面;Elasticsearch 参考,官方文档;<

读书笔记-《数据结构与算法》-摘要6[快速排序]

快速排序 核心&#xff1a;快排是一种采用分治思想的排序算法&#xff0c;大致分为三个步骤。 定基准——首先随机选择一个元素最为基准划分区——所有比基准小的元素置于基准左侧&#xff0c;比基准大的元素置于右侧递归调用——递归地调用此切分过程 快排的实现与『归并排…

STP笔记总结

STP --- 生成树协议 STP&#xff08;Spanning Tree Protocol&#xff0c;生成树协议&#xff09;是根据 IEEE802.1D标准建立的&#xff0c;用于在局域网中消除数据链路层环路的协议。运行STP协议的设备通过彼此交互信息发现网络中的环路&#xff0c;并有选择地对某些端口进行阻…

C++ 指针基础

指针的定义 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h>int main() {int a 10;printf("%p\n", &a); // &a 表示取&#xff08;a&#xff09;的地址 000000842FD9FB64// 存放指针&#xff08;地址&#xff09;的变量就是指针变量&#xff0c…

力扣第一题-两数之和[简单]

题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任…

UE4 图片环形轮播 蓝图

【需求】 图片环形轮播 任意图片之间相互切换 切换图片所需时间均为1s 两个图片之间切换使用就近原则 播放丝滑无闪跳 【Actor的组成】 每个图片的轴心都在原点 【蓝图节点】

内网穿透的应用-如何在群辉7.2中使用Docker安装并远程访问本地网心云容器魔方管理界面

文章目录 1. 拉取容器魔方镜像2. 运行容器魔方3. 本地访问容器魔方4. 群辉安装Cpolar5. 配置容器魔方远程地址6. 远程访问测试7. 固定公网地址 本文主要介绍如何在群辉7.2版本中使用Docker安装容器魔方&#xff0c;并结合Cpolar内网穿透工具实现远程访问本地网心云容器魔方界面…

CMS—评论功能设计

一、需求分析 1.1、常见行为 1.敏感词过滤 2.新增评论&#xff08;作品下、评论下&#xff09; 3.删除评论&#xff08;作品作者、上级评论者、本级作者&#xff09; 4.上级评论删除关联下级评论 5.逻辑状态变更&#xff08;上线、下线、废弃...&#xff09; 6.上逻辑状态变更…

如何在jenkins容器中安装python+httprunner+pytest+git+allure(一)

背景&#xff1a; API接口自动化使用python语言实现&#xff0c;利用httprunner框架编写自动化用例场景&#xff08;执行的时候还是依赖pytest),使用jenkins自动构建git上的源代码&#xff0c;并产生allure报告可视化展示API执行结果。 步骤 1.进入jenkins容器 注意使用roo…

FAQ:Inheritance 篇——What your mother never told you

文章目录 1、How can I set up my class so it won’t be inherited from&#xff1f;&#xff08;如何设置类&#xff0c;使它不会被继承?&#xff09;2、How can I set up my member function so it won’t be overridden in a derived class? &#xff08;如何设置成员函数…

遇到运维故障,有没有排查和解决故障的正确流程?

稳定是偶然&#xff0c;异常才是常态&#xff0c;用来标注IT运维工作再适合不过。 因为对于IT运维来说&#xff0c;工作最常遇到的就是不稳定性带来的各种故障&#xff0c;经常围绕发现故障、响应故障、定位故障、恢复故障这四大步。 故障处理是最心跳的事情&#xff0c;没有…