- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在扫描电子名片二维码中的数据。我收到的字符串总是看起来像这样:
BEGIN:VCARD
VERSION:2.1
N:Lastname;Firstname
FN:Firstname Lastname
ORG:Lol Group
TITLE:Project Engineer
TEL;WORK:+32 (0)11 12 13 14
ADR;WORK:Industrielaan 1;2250 Olen;Belgium
EMAIL:link.com
URL:http://www.link.com
END:VCARD
我需要一些数据来自动填写表单(我在 jQuery 中这样做)。我需要名字、姓氏、组织和电话号码。
所以我需要N、ORG和TEL之后的数据。但我真的坚持如何以最好的方式做到这一点。有这方面的经验吗?也许可以给我一些提示?
更新:
数据有时会发生变化。这些是可能性:
选项 1
BEGIN:VCARD
VERSION:3.0
N:lname;fname;;;
FN:fname lname
TITLE:Project manager
EMAIL;type=INTERNET;type=WORK:s.demesqdqs.be
TEL;type=WORK:+3812788105
END:VCARD
选项 2
BEGIN:VCARDFN:Barend VercauterenTEL:+32(0)9 329 93 06EMAIL:Barend.Vercauterenëesc.beURL:http://www.esc.beN:Vercauteren;BarendADR:Grote Steenweg 39;9840;De PinteORG:ESC bvbaROLE:sales consultantVERSION:3.0END:VCARD
选项 3
BEGIN:VCARDVERSION:2.1N:Deblieck;Tommy;;DhrFN:Tommy DeblieckTITLE:ZaakvoerderORG:QBMT bvbaADR:;;Kleine Pathoekweg 44;Brugge;West-Vlaanderen;8000;Belgi≠A0171TEL;WORK;PREF:+32 479302972TEL;CELL:+32 479302972EMAIL:tdëqbmt.beURL:www.qbis.beEND:VCARD
如您所见,所有文本都可能相互连接......
我使用选项 1 接收正确数据的代码:
var fname = /FN:(.*)/g;
var org = /ORG:(.*)/g;
var tel = /TEL;[^:]*:(.*)/g;
var fullname, firstname, morg, mtel;
fullname = fname.exec(qr_data);
fullname = fullname[1];
var array = fullname.split(' ');
firstname = array[0];
array.shift();
var lastname = '';
if(array.length > 1){
$.each(array, function(index, item) {
lastname += item ;
});
}
else
{
lastname = array[0];
}
morg = org.exec(qr_data);
mtel = tel.exec(qr_data);
if(firstname)
{
$("#firstname").val(firstname);
}
if(lastname)
{
$("#name").val(lastname);
}
if(morg)
{
$("#company").val(morg[1]);
}
if(mtel)
{
$("#number").val(mtel[1]);
}
但是我如何使用其他 2 个选项获取这些数据?
最佳答案
使用regex
提取数据。
对于 name = /FN:(.*)/g
对于组织 = /ORG:(.*)/g
对于电话 = /TEL;[^:]*(.*)/g
看看这个 fiddle .
var fname = /FN:(.*)/g;
var org = /ORG:(.*)/g;
var tel = /TEL;[^:]*:(.*)/g;
var str = 'BEGIN:VCARD\nVERSION:2.1\nN:Lastname;Firstname\nFN:Firstname Lastname\nORG:Lol Group\nTITLE:Project Engineer\nTEL;WORK:+32 (0)11 12 13 14\nADR;WORK:Industrielaan 1;2250 Olen;Belgium\nEMAIL:link.com\nURL:http://www.link.com\nEND:VCARD';
var mname, morg, mtel;
mname = fname.exec(str);
morg = org.exec(str);
mtel = tel.exec(str);
alert(mname[1]);
alert(morg[1]);
alert(mtel[1]);
关于javascript - 从长字符串中过滤数据(vcard),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31802227/
我正在使用 [EZ-VCards 库][1] 在 Java Web 应用程序中生成一些 VCard 数据。 除了编码问题之外,它工作正常并且使用起来非常简单。这些值是使用 UTF-8 编写的(我使用十
我正在尝试使用 Android ez vcard library从我的对象创建 vcf 文件。我的问题是我不知道如何实例化 VCard 的 List,如下所示: List vcards = null
我正在使用 ezvcard 库从我自己的应用程序中导出联系人数据。我的问题是,无法在我的股票联系人应用程序中读取导出的 vcard。这是输出: BEGIN:VCARD VERSION:4.0 N:;U
我的代码必须解析 Vcard 2.1 格式。我正在使用 vpim(没有其他库) 当我运行 Vpim::Vcard.decode(data) 时出现错误: undefined method `each'
我找不到添加像 CATEGORIES 这样的节点的可能性或 ORG使用 perl 模块 时到 vcard 对象电子名片::通讯录 (https://metacpan.org/pod/vCard::Ad
我正在尝试将网站 URL 添加到名片。我已经创建了 vCard 字符串,并且名片正在使用图像生成。剩下的就是网站 URL。 我生成的字符串是: $vcard = 'BEGIN:VCARD VERSIO
我正在使用 ez-vcard ( https://github.com/mangstadt/ez-vcard ) 来解析 VCARD 字符串。例如 VCARD 字符串之一是 "BEGIN:VCARD\
我正在使用来自 http://asmack.freakempire.de/4.0.5/ 的 asmack-android-8-4.0.5.jar 我能够成功连接和登录,但是当我尝试加载我自己的 vca
我知道 vCard 4.0 会引入一些常用的联系人属性字段(类型),如 GENDER、ANNIVERSARY 等。在 vCard 3.0 格式中没有标准方法来表示这些。 我的问题是如果 vCard 3
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 个月前
我正在扫描电子名片二维码中的数据。我收到的字符串总是看起来像这样: BEGIN:VCARD VERSION:2.1 N:Lastname;Firstname FN:Firstname Lastname
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
我想将 ABRecordRef 转换为 vCard 或 NSData 以通过蓝牙传输。我遇到了你的问题,我想知道你是否能弄清楚该怎么做。 谢谢 最佳答案 非常简单,我正在使用 iOS 6 并使用以下代
我想通过简单的短信发送 vCard。 我不打算用电子邮件的 iMessage 发送 vCard。 我已经创建了以下格式的 vCard。 BEGIN:VCARD VERSION:3.0 N:;Sahil
我的网站上有一项新功能,允许用户获取 vcard 文件。此功能从我的数据库(这个有效)读取数据并生成 vcard。 文件是:vcard.php,我将用户 ID 作为 GET 传递 然后我使用那个id得
我正在建立一个移动网站(适用于 Iphone 和 Android ......我认为 Blackberry 已经不行了) 这是我遇到的问题。我们想要一个链接,当点击它时,自动将 .vcf 文件中的联系
我正在使用 XCode 4.2 开发一个应用程序,并且尝试使用 initWithVCardRepresentation 和/或 ABPersonCreatePeopleInSourceWithVCar
在 smack 库中是否有任何方法可以使我能够更新我的任何联系人的 vcard 中的更改我尝试了监听 Iq 数据包的名册监听器和数据包监听器,但我无法得到任何东西 最佳答案 简短回答:否。 长答案:当
我完全按照答案建议的操作( Asmack not loading VCard ),但它仍然不起作用。 DEBUG 输出显示 Smack 收到带有 VCard 信息的数据包,但随后在 https://g
我正在使用 cardme 库来处理电子名片。以下是我的代码 package vcardtest; import java.io.*; import java.util.Iterator; import
我是一名优秀的程序员,十分优秀!