专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

推荐一款免费的收货信息智能识别工具

  大家好,我是Echa。
  今天给大家分享非常实用的收货信息智能识别工具,该工具使用广泛,比如小程序,H5,App等等,大大提高用户体验和工作效率。但是市面上大部分都是按照API调用平次来收费的,总体来说比较贵。目前推荐这个是免费的,智能匹配率大概在85作用,希望大家喜欢。创作不易,喜欢的老铁们加个关注,点个赞,后面会持续更新干货,速速收藏,谢谢!
  源码地址:https:gitee。comJCfengjsutiltreemainaddressauto
  效果图:
  核心代码:收件人信息自动识别param{String}autovalue输入的信息returns{ReturnInfo}functionaddressauto(autovalue){储存分割后的数据type{String〔〕}letsplitres〔autovalue〕支持的分割符type{string〔〕}letsplitters〔,,,,,r,〕按不同的分隔符依次分割for(letsplitterofsplitters){letsplitres1〔〕for(letsplitresitemofsplitres){splitres1。push(。。。splitresitem。split(splitter))}splitressplitres1}类型标记后面会对每个分割后的部分进行类型检测letTYPEMOBILE10手机letTYPENAME11名字letTYPEADDRPROVINCE12地址省份部分letTYPEADDRCITY13地址城市部分letTYPEADDRCOUNTY14地址区县部分letTYPEADDRDETAIL15地址详细地址部分地址中可写可不写的部分letDISPENSIBLEPROVINCES〔省,市,自治区〕letDISPENSIBLECITYS〔市,地区,区,盟,自治州〕letDISPENSIBLECOUNTYS〔林区,族区,区,自治县,县,市,自治旗,旗〕储存地区信息的结构typedef{Object}AreaInfoproperty{String}code地区编码property{String}name地区名称property{String}nameexceptdispensible除了dispensible部分后的地区名称property{Number}similarity匹配nameexceptdispensible时的相似度地区数据处理函数param{Object。String,String}data地区数据param{Array。String}dispensiblelist可忽略的内容returns{Array。}}letareadataprocessingfunction(data,dispensiblelist){returnObject。entries(data)。map(entry{letitem{code:entry〔0〕,name:entry〔1〕,nameexceptdispensible:entry〔1〕,similarity:1,}for(letdispensibleitemofdispensiblelist){if(item。name。endsWith(dispensibleitem)item。name。lengthdispensibleitem。length2){item。nameexceptdispensibleitem。name。substring(0,item。name。lengthdispensibleitem。length)item。similarityitem。nameexceptdispensible。lengthitem。name。lengthbreak}}returnitem})}letprovincesareadataprocessing(areaList。provincelist,DISPENSIBLEPROVINCES)储存省份信息的数组letcitysareadataprocessing(areaList。citylist,DISPENSIBLECITYS)储存省份信息的数组letcountysareadataprocessing(areaList。countylist,DISPENSIBLECOUNTYS)储存省份信息的数组匹配到的信息的结构typedef{Object}ResInfoproperty{String}code地区编码property{String}name地区名称property{Number}similarity相似度(完全匹配时为1)property{Number}splitresindex对应的splitres数组中的数据的索引property{String}〔captureprovince〕捕获的省份内容,此字段只在省份信息内存在property{String}〔capturecity〕捕获的城市内容,此字段只在城市信息内存在property{String}〔capturecounty〕捕获的区县内容,此字段只在区县信息内存在property{Number}〔maxcitysplitresindex〕最大相似度的城市对应的splitres数组中的数据的索引,此字段只在最终结果中存在property{Number}〔maxcityresInfoindex〕最大相似度的城市对应的cityresInfolist数组中的数据的索引,此字段只在最终结果中存在property{Number}〔maxprovincesplitresindex〕最大相似度的省份对应的splitres数组中的数据的索引,此字段只在最终结果中存在property{Number}〔maxprovinceresInfoindex〕最大相似度的省份对应的provinceresInfolist数组中的数据的索引,此字段只在最终结果中存在储存匹配到的省份信息type{ResInfo〔〕}letprovinceresInfolist〔〕储存匹配到的城市信息type{ResInfo〔〕}letcityresInfolist〔〕储存匹配到的区县信息type{ResInfo〔〕}letcountyresInfolist〔〕分割后的数据的扩展结构typedef{Object}SplitResExproperty{String}value原始splitres数组内对应的元素property{Number}type类型标记对splitres数组的数据进行处理后的拓展数据type{SplitResEx〔〕}letsplitresexsplitres。filter(splitresitemsplitresitem!)。map(splitresitem{return{value:splitresitem,type:0,}})用于匹配11位手机号的正则表达式letregexpmobilenewRegExp(〔09〕{11},gmu)储存手机的识别结果letmobile储存splitresex数组内识别到手机的元素的索引letmobilesplitresindex1开始识别,遍历splitresexfor(leti0;isplitresex。length;i){letsplitresitemsplitresex〔i〕当前遍历元素识别到手机(如果有多个,只储存最后一个)if(regexpmobile。test(splitresitem。value)){splitresitem。typeTYPEMOBILE标记类型mobilesplitresitem。value储存识别结果mobilesplitresindexi储存对应索引}对每个splitresex元素遍历识别所有的省份、城市、区县构建〔省份、城市、区县〕遍历结构letloopdata〔{data:provinces,type:TYPEADDRPROVINCE,resInfolist:provinceresInfolist,typename:province},{data:citys,type:TYPEADDRCITY,resInfolist:cityresInfolist,typename:city},{data:countys,type:TYPEADDRCOUNTY,resInfolist:countyresInfolist,typename:county},〕遍历〔省份、城市、区县〕for(letj0;j3;j){遍历(省份)或(城市)或(区县)for(letitemofloopdata〔j〕。data){letsimilarityundefined相似度letcapturevalueundefined储存捕获到的名称完整匹配某个(省份)或(城市)或(区县)的名称if(splitresitem。value。search(item。name)!1){similarity1相似度为1capturevalueitem。name储存完整名称}非完整匹配某个(省份)或(城市)或(区县)的名称elseif(splitresitem。value。search(item。nameexceptdispensible)!1){similarityitem。similarity储存相似度(前面已计算)capturevalueitem。nameexceptdispensible储存省略后的名称}成功匹配,储存信息if(similarity!undefined){loopdata〔j〕。resInfolist。push({code:item。code,name:item。name,similarity:similarity,splitresindex:i,〔capture{loopdata〔j〕。typename}〕:capturevalue})}}}}由区县的匹配结果决定地址信息最终是否匹配成功只要区县匹配成功,不论城市和省份是否匹配成功,最终都将按匹配成功处理下面的处理主要是针对匹配到多个区县的情况,最终按叠加的相似度决定匹配结果因为该步骤主要是为了消除误判的区县,所以区县所属的城市和省份被匹配时,权重分别是10倍和100倍if(countyresInfolist。length1){遍历区县的匹配结果for(leti0;icountyresInfolist。length;i){letcountyresInfoitemcountyresInfolist〔i〕本次遍历的区县元素letaddsimilarity0最后要叠加到区县结果内的相似度遍历城市的匹配结果for(letj0;jcityresInfolist。length;j){若匹配成功的区县其所属的城市同时也匹配成功,则记录其相似度if(cityresInfolist〔j〕。code。substring(0,4)countyresInfoitem。code。substring(0,4)){被匹配的区县所属的城市可能会匹配到多个,所以要找出其中相似度最大的if(cityresInfolist〔j〕。similarityaddsimilarity){addsimilaritycityresInfolist〔j〕。similarity}}}countyresInfoitem。similarityaddsimilarity10在城市的相似度的基础上乘10遍历省份的匹配结果(同上)addsimilarity0for(letj0;jprovinceresInfolist。length;j){if(provinceresInfolist〔j〕。code。substring(0,2)countyresInfoitem。code。substring(0,2)){if(provinceresInfolist〔j〕。similarityaddsimilarity){addsimilarityprovinceresInfolist〔j〕。similarity}}}countyresInfoitem。similarityaddsimilarity100在省份的相似度的基础上乘10}按叠加后的相似度对区县的匹配结果进行排序,从大到小countyresInfolist。sort((item0,item1)item1。similarityitem0。similarity)排序后的区县匹配结果中的第一个元素视作最终匹配元素letmatchingcountycountyresInfolist〔0〕在对应的splitresex数组内的数据上加上区县地址匹配标记splitresex〔matchingcounty。splitresindex〕。typeTYPEADDRCOUNTY在城市匹配结果中寻找最终匹配的区县所属的城市letmaxsimilarity0临时变量,记录当前已遍历的匹配城市中相似度最大的letmaxresInfoindex1相似度最大的城市在cityresInfolist数组中对应的索引for(leti0;icityresInfolist。length;i){if(cityresInfolist〔i〕。code。substring(0,4)matchingcounty。code。substring(0,4)){if(cityresInfolist〔i〕。similaritymaxsimilarity){maxsimilaritycityresInfolist〔i〕。similaritymaxresInfoindexi}}}若寻找到相应的匹配城市,则储存和设置对应的信息if(maxresInfoindex!1){matchingcounty。maxcitysplitresindexcityresInfolist〔maxresInfoindex〕。splitresindexmatchingcounty。maxcityresInfoindexmaxresInfoindexsplitresex〔cityresInfolist〔maxresInfoindex〕。splitresindex〕。typeTYPEADDRCITY}在省份匹配结果中寻找最终匹配的区县所属的省份,同上maxsimilarity0maxresInfoindex1for(leti0;iprovinceresInfolist。length;i){if(provinceresInfolist〔i〕。code。substring(0,2)matchingcounty。code。substring(0,2)){if(provinceresInfolist〔i〕。similaritymaxsimilarity){maxsimilarityprovinceresInfolist〔i〕。similaritymaxresInfoindexi}}}if(maxresInfoindex!1){matchingcounty。maxprovincesplitresindexprovinceresInfolist〔maxresInfoindex〕。splitresindexmatchingcounty。maxprovinceresInfoindexmaxresInfoindexsplitresex〔provinceresInfolist〔maxresInfoindex〕。splitresindex〕。typeTYPEADDRPROVINCE}}储存名字的识别结果letnamesplitresex数组中还未匹配到任何类型的元素letsplitrestypeequal0〔〕遍历splitresex数组,寻找还未匹配到任何类型的元素for(leti0;isplitresex。length;i){if(splitresex〔i〕。type0){splitrestypeequal0。push({splitresitem:splitresex〔i〕,index:i})}}按内容的长度排序,从小到大splitrestypeequal0。sort((item0,item1)item0。splitresitem。value。lengthitem1。splitresitem。value。length)遍历排序后的splitrestypeequal0数组(splitrestypeequal0数组中除了可能存在名字外,还可能存在详细地址)规则1:名字不会被除手机外的其他信息包裹在中间,既除手机外,名字应该在两端规则2:名字不会比详细地址长for(leti0;isplitrestypeequal0。length;i){letitemsplitrestypeequal0〔i〕。splitresitem对应的splitresitem数组的元素letindexsplitrestypeequal0〔i〕。index对应的splitresitem数组的元素的索引letaccessindexs;储存特定情况下,名字所有可能出现的位置(名字应该在两端)若未匹配到手机,则名字应该在两端,否则,名字应该在除了手机所在位置后的两端if(mobilesplitresindex0){accessindexs〔1,splitresex。length1〕}elseif(mobilesplitresindexsplitresex。length1){accessindexs〔0,splitresex。length2〕}else{accessindexs〔0,splitresex。length1〕}匹配if(accessindexs。indexOf(index)!1){若splitrestypeequal0内不止一个元素,说明splitrestypeequal0内存在详细地址部分if(splitrestypeequal0。length1){letaddlength0储存除本元素外的其他元素的内容长度的累加值累加其他部分for(letj0;ji;j){addlengthsplitrestypeequal0〔j〕。splitresitem。value。length}for(letji1;jsplitrestypeequal0。length;j){addlengthsplitrestypeequal0〔j〕。splitresitem。value。length}若本元素长度小于其他元素的长度累加值,则判定本元素为名字if(item。value。lengthaddlength){item。typeTYPENAMEnameitem。valuebreak}}若splitrestypeequal0内只有一个元素,则判定本元素为名字else{item。typeTYPENAMEnameitem。valuebreak}}}letprovince储存省份的识别结果letcity储存城市的识别结果letcounty储存区县的识别结果letcode储存地区编码的识别结果letdetail储存详细地址的识别结果若有识别到区县地址if(countyresInfolist。length0){letmatchingcountycountyresInfolist〔0〕最终匹配元素letdetailjoinindexlist〔〕储存详细地址的各个部分对应的splitresex数组元素的索引若有匹配到的省份if(matchingcounty。hasOwnProperty(maxprovincesplitresindex)){detailjoinindexlist。push(matchingcounty。maxprovincesplitresindex)provinceprovinceresInfolist〔matchingcounty。maxprovinceresInfoindex〕。name}else{provinceareaList。provincelist〔matchingcounty。code。substring(0,2)0000〕}若有匹配到的城市if(matchingcounty。hasOwnProperty(maxcitysplitresindex)){检测是否与匹配到的省份对应的splitresex数组元素的索引重复,不重复才添加if(detailjoinindexlist。indexOf(matchingcounty。maxcitysplitresindex)1){detailjoinindexlist。push(matchingcounty。maxcitysplitresindex)}citycityresInfolist〔matchingcounty。maxcityresInfoindex〕。name}else{cityareaList。citylist〔matchingcounty。code。substring(0,4)00〕}检测是否与匹配到的省份及城市对应的splitresex数组元素的索引重复,不重复才添加if(detailjoinindexlist。indexOf(matchingcounty。splitresindex)1){detailjoinindexlist。push(matchingcounty。splitresindex)}countymatchingcounty。namecodematchingcounty。code将其余未匹配到任何类型的元素判定为详细地址部分,添加其对应的splitresex数组元素的索引到detailjoinindexlist数组for(leti0;isplitresex。length;i){if(splitresex〔i〕。type0){detailjoinindexlist。push(i)}}拼接detailjoinindexlist数组内所有元素对应的splitresex数组元素的内容detaildetailjoinindexlist。map(isplitresex〔i〕。value)。join()去除省份信息if(matchingcounty。hasOwnProperty(maxprovinceresInfoindex)){detaildetail。replace(provinceresInfolist〔matchingcounty。maxprovinceresInfoindex〕。captureprovince,)}去除城市信息if(matchingcounty。hasOwnProperty(maxcityresInfoindex)){detaildetail。replace(cityresInfolist〔matchingcounty。maxcityresInfoindex〕。capturecity,)}去除区县信息detaildetail。replace(matchingcounty。capturecounty,)}return{name:name,tel:mobile,province:province,city:city,county:county,areaCode:code,addressDetail:detail,}}

宝岛七十余年经济崛起,大陆5万亿美元的财富,被蒋介石转移台湾自古以来,台湾就是中国神圣领土不可分割的一部分。中国台湾地区,是指台湾当局控制下的台湾省(包括台湾本岛与兰屿绿岛钓鱼岛等附属岛屿及澎湖列岛),以及福建省的金门马祖乌丘等岛屿,陆地总小伙揭密卡车榴莲套路,花130被骗65元,这套路谁能想到?你没想到吧,继不良摊贩的吸星大法骗局后,现在又出现了一种卡车榴莲套路,以前的套路一般是输入单价的时候往左移动一两个小数点,就能像武侠小说里的吸星大法一样,额外的多收你一笔钱。最近,美货币政策作祟拉美国家经济面临严峻挑战新华社墨西哥城7月28日电(国际观察)美货币政策作祟拉美国家经济面临严峻挑战新华社记者赵凯王钟毅近期公布的一系列数据显示,巴西阿根廷等拉美主要经济体经济今年上半年实现增长,但增速与盘点娱乐圈里奶奶年纪才生娃的女星,你喜欢哪一个?娱乐圈里不少女星年过40才生孩子。今天就为大家盘点几位。伊能静今年,伊能静与秦昊迎来爱情结晶,母女平安,这是伊能静第二次生孩子。此时已经47岁了,风险蛮大的。贾静雯贾静雯离开豪门后面对未来,考生和大学谁更尴尬?冷不丁,我惊奇地发现大学招生,也和房地产市场一样,成了买方市场了。这不,作为江西省内为数不多的一本院校景德镇陶瓷大学,在省内投放1210个招生指标,居然只招到147人!降20分补录看到片名别急着划走,这部豆瓣9。1分的纪实剧,值得上热搜这部剧开头就很刀,一开始就交代了她的结局。她的人生定格在30岁的那一年。可即便知道了结局,还是让人忍不住往下看。这部大山的女儿改编自原百坭村第一书记,黄文秀的真人真事。她还是201胡锡进台海伴飞论惊动美媒,却遭平台威胁,要求删除言论相信这几天大家一定跟小编一样,无论打开哪个社交平台,都能看到此类消息。环球球日报特约评论员胡锡进,这几天更是连发好几条博文点评此事。自25号开始,胡锡进就曾发文。此次是佩洛西挑衅在合肥U15女足勇夺第十五届安徽省运会决赛金牌今天,第十五届安徽省运会青少部女子组U15和U17组决赛阶段的比赛在凤阳奥体中心落下帷幕。上午率先结束的U17女子组冠军争夺战,蚌埠女足20击败淮南女足摘得本次省运会青少部足球赛首当一个人开始喜欢独来独往,你知道意味着什么吗?图源自网络侵权请联系删除现代人的社交方式越来越丰富,相隔千万里的人通过视频电话,转眼就可以出现在眼前。可是人们的距离却仿佛越来越远,很多人渐渐不再愿意和周围的人打交道,他们更愿意与大学生买空调自己享用,只因室友不均摊费用,被几个室友孤立2022高考已经结束,多地本科一批录取工作结束,陆续收到录取通知书的考生,心里的一块石头总算落地了,身份变成了准大一新生,暑假终于能玩个痛快了。对于准大一新生来说,大学生活无比美好长津湖夺百花最佳影片张译袁泉摘最佳男女主电影频道主持人蓝羽电影人吴刚邓超佟丽娅1905电影网专稿花开江城,光影未来。7月30日晚,第36届大众电影百花奖颁奖典礼在武汉举行。从全国各地选拔而出的101位观众评委组成终评评选
美媒列出麦迪逊广场花园单场得分最高的十次,詹姆斯仅排第七纽约尼克斯队的主场麦迪逊广场花园被誉为全世界最伟大的篮球圣地,所有的篮球爱好者都喜欢在那里打球,因为那里可以让全世界的球迷们看着他们打球。所以,在NBA也有很多球员想在尼克斯的主场CBA三消息首钢接触大牌外援,林葳锁定新人王,张明池最大收获大家好呀,我是北柠,各位小伙伴们要养成先看后赞的习惯哦!北京首钢队这个赛季的外援阵容只能说比较一般,他们能力比较强的外援是大外援利夫,而北京首钢队中的另外两名外援尼克约翰逊和吉布森中超转会动态泰山疯狂引援,国安清洗外援,海港瞄向欧洲教头前言2022赛季中超联赛结束,各支俱乐部正式投入进休赛期的引援工作中。而从目前外界媒体给出的信息来看,山东泰山北京国安上海海港三家俱乐部已经有所行动,其中就包括新援的引进,外援的解中国乒乓00后最早冒尖的希望之星钱天一一天6场比赛,磨练自己每一个人的成长过程中,都会遇到自己的瓶颈期,但是,当遇到困难的时候,要积极应对,能够寻找不足,并快速补漏,这样,依然会使自己迎头赶上。一旦消沉,就会永远的落后。人生的成长,其实一直浓眉正式推迟复出时间!佩林卡做出无脑决定,詹姆斯被你们坑惨了湖人队这个赛季是否还能够进入附加赛,很大程度上取决于三巨头的身体健康状况,浓眉在之前受伤的时候,表示他将会在这个月的15号复出,但是现在来看,他的承诺已经成为了一句谎言,那么浓眉究中国足球反腐烧向杜兆才,曝操控女足名单提拔陈永亮,收网抓大鱼众所周知,中国足协在苏州召开了一次重要的会议,在媒体曝光的会议的通稿当中可以知道,足协主席陈戌源主持了这次会议,杜兆才也出席了会议并讲了话。但是,足球报也曝光了在这次会议正式召开之郭晶晶携丈夫与张怡宁聚会!众多体育大咖赴宴,陈亚琼李宁现身近段时间,排球巨星陈亚琼召集了一场聚会,众多体坛明星欢聚一堂,为即将到来的农历新年预热。这次聚会可以说是星光熠熠,陈亚琼和郎平同时代,是中国女排曾经的顶级副攻手,她在体坛的威望毋庸每日一味中药茯苓茯苓属利水渗湿药中的利水消肿药。茯苓为多孔菌科真菌茯苓的菌核,多寄生于松科植物赤松或马尾松等树根上。野生或栽培,主产于广西湖北河南云南四川安徽等地,78月采挖,除去泥沙杂质,堆置发5味中药,活血化瘀,祛湿化痰,轻松消散子宫肌瘤卵巢囊肿子宫肌瘤卵巢囊肿腺肌症乳腺结节月经不调卵巢早衰全部找上门,不管它总觉得心里不踏实,手术呢又觉得太害怕,每天,都能感受到一股无形的压力折磨着自己必其实没必要这么焦虑,我一直说现在很多荨麻疹瘙痒剧烈?医生直言3味中药,疏风止痒,有效解决瘙痒!大家在生活中,相信或多或少听说过荨麻疹,荨麻疹是一种很常见的皮肤疾病,俗称风疙瘩。它不挑人,也不挑性别,往往是发无定处,伴有瘙痒的风团骤起骤消,让人防不胜防。尽管荨麻疹不致命,却影每日一味中药草果草果为姜科多年生草本植物草果的干燥成熟果实。主产于云南广西贵州等地。秋季果实成熟时采收,除去杂质,晒干或低温干燥。炒至焦黄色并微鼓起,捣碎取仁用,或将净草果仁姜汁微炒用。处方用名草
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网