我是Vcard文件,安卓通讯录,test.vcf,它的固定格式,文件内容如下(里面有四个联系人):

然后我是要获取里面的内容(因为我与后台交互是数据传输,也就是JSON方式),所以我需要获得我需要的姓名N和电话号码CELL就行。
首先我们要做的事读取这个Vcard文件,参考这个可以实现文件读写(任何后缀的文件,类似txt):https://blog.youkuaiyun.com/Make_Progress365/article/details/107017637
根据它的方法,我打印出来如下:
console.log("读取的内容如下:",this.snippets);

但是问题来了,这样我不能直接获取我想要的内容,可以一行行读取,然后获取,但是js我不熟悉数据流怎么写,java可以
但是,我们知道,如果转换成其他数组获取对象,我们就可以直接获取
所以:this.snippets是读取到的数据,就是上面的
let temp=this.snippets.split('\n').map(v => v.trim()).sort((a, b) => b.length - a.length)
console.log("读取的内容如下:");

这就直接获取数据编程数组了,举例,
我们获取数组的方式不都是 arry[0]="TEL;TYPE=CELL:3254894" 或者 arry[21]="FN:打麻将" 这样的都是我们要想获取的号码和姓名,这时候我们是要去掉多余部分,就是split(":")方法(因为他们共同特点都是:分开,就是再“:”后面是我们要的),提取数组每个内容,类似这样: ["TEL;TYPE=CELL", "3254894"] 或者 ["FN", "打麻将"] ,这不就简单了?
temp[0].split(":") 这个就获得的结果就是:["TEL;TYPE=CELL", "3254894"] ,数组2不正是你要的结果么,
temp[0].split(":") [1] 这个就获得的结果就是:"3254894"
同理
temp[23].split(":") 这个就获得的结果就是:["N", "打麻将"],数组2不正是你要的结果么,
temp[23].split(":") [1] 这个就获得的结果就是: "打麻将"
循环遍历所有,见我写的
for(let i=0;i<temp.

本文介绍了如何在Vue.js中读取Vcard (VCF) 文件,提取所需的姓名(N)和电话号码(CELL)内容。通过解析文件,将数据转换为数组,并使用split()方法去除多余部分,实现所需信息的筛选。
最低0.47元/天 解锁文章
1335

被折叠的 条评论
为什么被折叠?



