js生成vCard,以及格式參數詳細說明

vCard 規範允許公開交換我的數據交換 (Personal Data Interchange PDI) 信息,在傳統紙質商業名片可找到這些信息。規範定義電子名片(或叫vCard)的格式。 vCard 規範可做爲各類應用或系統之間的交換格式。定義的格式與傳送的方法無關。傳送交換多是文件系統,點對點交換的公共電話網絡,以有線網絡或無線傳送的方式。用戶能在互聯網上直接利用vCard。電子郵件能轉發在vCard中人信息。網頁上不少用戶填寫的表格可自動使用vCard。安全

 簡單案例源碼:連接:http://pan.baidu.com/s/1c2Gepzi 密碼:0ydg網絡

中文簡單介紹》》》》》》》》

預約義類型的用法
BEGIN 和 END 類型
Vcard內容必須以BEGIN:VCARD開頭,以END:VCARD結尾
參考一個vcard的例子1:dom

 1 BEGIN:VCARD
 2 VERSION:2.1
 3 N:姓;名
 4 FN:姓名NICKNAME:nickName
 5 ORG:公司;部門
 6 TITLE:職位
 7 NOTE;ENCODING=QUOTED-PRINTABLE:=C6=E4=CB=FB
 8 TEL;WORK;VOICE:電話1
 9 TEL;WORK;VOICE:電話2
10 TEL;HOME;VOICE:電話1
11 TEL;HOME;VOICE:電話2
12 TEL;CELL;VOICE:
13 TEL;PAGER;VOICE:0755
14 TEL;WORK;FAX:傳真
15 TEL;HOME;FAX:傳真
16 ADR;WORK:;;單位地址;深圳;廣東;433000;國家
17 LABEL;WORK;ENCODING=QUOTED-PRINTABLE:=B5=A5=CE=BB=B5=D8=D6=B7
18 =C9=EE=DB=DA
19 =B9=E3=B6=AB
20 433000
21 =B9=FA=BC=D2
22 ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;廣東;433330;中國
23 LABEL;HOME;ENCODING=QUOTED-PRINTABLE:=BD=D6=B5=C0=B5=D8=D6=B7
24 =C9=EE=DB=DA
25 =B9=E3=B6=AB
26 433330
27 =D6=D0=B9=FA
28 URL:網址
29 URL:單位主頁
30 EMAIL;PREF;INTERNET:郵箱地址
31 X-QQ:38394246
32 X-ICQ:icq
33 X-WAB-GENDER:2
34 REV:20060220T180305Z
35 END:VCARD

3.2 vcard標準通訊薄基本格式

3.2.1 VCard 數據格式的標識符 – VCARD

預約義的值類型:uri, date, date-time, float
新增長的值類型:binary, phone-number, utc-offset and vcard value
預約義的類型:SOURCE, NAME, PROFILE, BEGIN, END.
新增長的類型:FN, N, NICKNAME, PHOTO, BDAY, ADR, LABEL, TEL, EMAIL,
MAILER, TZ, GEO, TITLE, ROLE, LOGO, AGENT, orG, CATEGORIES, NOTE,
PRODID, REV, SORT-STRING, SOUND, URL, UID, VERSION, CLASS, KEY
預約義的參數:ENCODING, VALUE, CHARSET, LANGUAGE, CONTEXT.
新增長的參數:TYPEide

3.2.2 vCard數據格式行: 類型 [;參數]:值

ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;廣東;433330;中國
ADR:是一個類型,表示是一條地址信息
「;」號是分隔符合
HOME;POSTAL;PARCEL表示參數,表示ADR的用途或者是類別
:;;街道地址;深圳;廣東;433330;中國 表示是一個ADR值,地址值post

3.2.3 預約義類型的用法  

3.2.3.1 BEGIN 和 END 類型

Vcard內容必須以BEGIN:VCARD開頭,以END:VCARD結尾ui

3.2.3.2 標識類型

FN 類型定義加密

目的:vcard對象的名稱,一個vcard對象必須包含FN類型。
例子:FN:Mr. John Q. Public, Esq.spa

N類型定義3d

目的:FN表示一個vcard對象的名稱,N表示這個對象名稱的組成部分
例子:code

N:Public;John;Quinlan;Mr.;Esq.
N:Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P.

各個組成部分能夠用分號分號,每一個組成部分能夠用逗號。

NICKNAME類型定義

目的:表示別名
例子:

NICKNAME:Robbie
NICKNAME:Jim,Jimmie

PHOTO類型定義

目的:vcard對象的圖像信息
例子:PHOTO;VALUE=uri:圖片地址

PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
<…remainder of 「B」 encoded binary data…>

若是使用內聯的二進制數據表示圖片信息,那麼;ENCODING=b

BDAY類型定義

目的:表示出生日期
例子:

BDAY:1996-04-15
BDAY:1953-10-15T23:10:00Z
BDAY:1987-09-27T08:30:00-06:00

3.2.3.3 聯繫方式

ADR 類型定義

目的:是一個組合,用來表示一個地址信息,值類型是一個用分號分開的文本值
例子:ADR;TYPE=dom,home,postal,parcel:;;123 Main Street;Any Town;CA;91921-1234;A
ADR;HOME;POSTAL;PARCEL:;;街道地址;深圳;廣東;444444;中國
組合由一下部分順序的組成:

the post office box;
the extended address;
the street address;
the locality (e.g., city);
the region (e.g., state or province);
the postal code;
the country name

七個部分組成,若是,其餘的一個部分沒有,必須用分號分開。

type 參數的說明

  • 「dom」 國內地址
  • 「intl」 國際地址
  • 「parcel」包裹遞送地址
  • 「home」 居住地址;
  • 「work」工做地址;
  • 「pref」 有多個地址的時候,優先的地址

缺省的」TYPE=intl,postal,parcel,work」,能夠替換。

LABEL類型定義

目的:是一格式化的文本值,表示一個地址
例子:

LABEL;TYPE=dom,home,postal,parcel:Mr.John Q. Public, Esq.n
Mail Drop: TNE QBn123 Main StreetnAny Town, CA 91921-1234
nU.S.A.

type 參數的說明

  • 「dom」 國內地址
  • 「intl」 國際地址
  • 「parcel」包裹遞送地址
  • 「home」 居住地址;
  • 「work」工做地址;
  • 「pref」 有多個地址的時候,優先的地址

缺省的」TYPE=intl,postal,parcel,work」,能夠替換。

和ADR的不一樣是 ADR的值是用分號分開的數據,LABEL就是一個格式化的文本。

電話通訊地址類型

TEL類型定義

目的:指定一個電話號碼
例子:TEL;TYPE=work,voice,pref,msg:+1-213-555-1234
說明:值是一個規範的全球惟一的電話號碼

TYPE參數的值有:

「home」表示家庭電話
「msg」 表示這個號碼支持語音
「work」 工做電話
「pref」 表示多個電話中最喜歡使用的電話
「voice」 聲音電話號碼
「fax」傳真號碼
「cell」 表示手機電話
「video」 視頻電話
「pager」 調度電話,估計是總機的電話
「bbs」 公開的廣播系統的電話
「modem」 調制解調器電話
「car」汽車電話
「isdn」 ISDN鏈接電話號碼
「pcs」 我的通訊服務電話

缺省是 「voice」。

TYPE參數的用法是TYPE=work;TYPE=voice或者"TYPE=work,voice",缺省值能夠被重置:

「TYPE=work,home,voice,fax」.

EMAIL類型定義

目的:指定一個電子郵件
例子:

EMAIL;TYPE=internet:郵箱地址
EMAIL;TYPE=x400:郵箱地址
EMAIL;TYPE=internet,pref:郵箱地址

TYPE參數的使用

  • 「internet」 表示一個internet 類型地址
  • 「x400」 表示是一個 X.400 地址
  • 「pref」最喜歡使用的郵件電子

缺省是"internet"

MAILER 類型定義

目的:指定一個電子郵件發送者
例子:MAILER:PigeonMail 2.1

3.2.3.4 地理類型

TZ類型定義

目的:時區信息
例子:

TZ:-05:00
TZ;VALUE=text:-05:00; EST; Raleigh/North America

缺省是一個utc-offset值。

GEO類型定義

目的:地理位置信息
例子:

GEO:37.386013;-122.082932
CEO 經度;緯度

3.2.3.5 組織類型

TITLE類型定義

目的:工做位置,工做職能(job title)
例子:TITLE:Director, Research and Development

ROLE 類型定義

目的:公司的職業(occupation)
例子ROLE:Programmer

LOGO類型定義

目的:公司logo,是一個圖像信息
例子:LOGO;VALUE=uri:圖片地址

LOGO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
<…the remainder of 「B」 encoded binary data…>

說明:
TYPE 知道圖像的格式,ENCODING=b 表示是二進制的數據流。
URI 表示是一個外部圖像對象。

AGENT類型定義

目的:指定另一我的替換他的我的行爲
例子:

AGENT;VALUE=uri: CID:JQPUBLIC.part3.960129T083020.郵箱地址
AGENT:BEGIN:VCARDnFN:Susan ThomasnTEL:+1-919-555-
1234nEMAIL;INTERNET:主機地址nEND:VCARDn

說明:
缺省是一個 Vcard 對象,當時也但是一個 URI 指定的外部 Vcard 對象。

ORG類型定義

目的:表示一個組織的名稱
例子:ORG:ABC, Inc.;North American Division;Marketing

3.2.3.6 解釋類型

CATEGORIES類型定義
目的:vcard應用的分類信息
例子:

CATEGORIES:TRAVEL AGENT
CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY

NOTE 類型定義

目的:對 vcard 的註釋和說明
例子:

NOTE:This fax number is operational 0800 to 1715
EST, Mon-Fri.

PRODID 類型定義

目的:指定建立Vcard對象的產品的ID
例子:PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN
REV 類型定義

目的:指定當前Vcard的修改信息
例子:

REV:1995-10-31T22:27:10Z
REV:1997-11-15

SORT-STRING 類型定義

目的:指定家庭名稱或者其餘名稱對FN和N類型排序

例子:

FN:Rene van der Harten
N:van der Harten;Rene;J.;Sir;R.D.O.N.
SORT-STRING:Harten
FN:Robert Pau Shou Chang
N:Pau;Shou Chang;Robert
SORT-STRING:Pau
FN:Osamu Koura
N:Koura;Osamu
SORT-STRING:Koura
FN:Oscar del Pozo
N:del Pozo Triscon;Oscar
SORT-STRING:Pozo
FN:Chistine d’Aboville
N:d’Aboville;Christine
SORT-STRING:Aboville

SOUND類型定義

目的:指定Vcard的數字聲音信息,缺省是指定vcard的name類型的發音信息。
例子:

SOUND;TYPE=BASIC;VALUE=uri:CID:JOHNQPUBLIC.part8.
19960229T080000.地址
SOUND;TYPE=BASIC;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 <…the remainder of 「B」 encoded binary data…>

說明:

  • 能夠用URI指定一個外部聲音二進制流
  • 能夠是內置的聲音二進制流,ENCODING=b

UID 類型定義

目的:指定一個全球惟一的我的或資源標識。
例子:UID:19950401-080045-40000F192713-0052
URL 類型定義
目的:指定Vcard 參考的路徑。
例子:URL: 網址

VERSION 類型定義

目的:指定Vcard使用的vcard規範的版本。
例子: VERSION:3.0

3.2.3.7 Security 類型

CLASS類型定義

目的:指定訪問Vcard對象的訪問分級。
例子:

CLASS:PUBLIC
CLASS:PRIVATE
CLASS:CONFIDENTIAL

說明:安全分級須要參考目錄服務的訪問分級

KEY 類型定義

目的:指定Vcard的公共鑰匙值(加密解密是使用)或者是受權認證。
例子:

KEY;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA
wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX
Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj
E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD
VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx
MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz
Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ
EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2
dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB
EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau
+hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP
mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y
rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7
UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ==

3.2.3.8 擴展類型

能夠定義本身的類型,本身定義的類型須要以「x-」開頭

好比例子中的信息:

X-QQ:000000X-ICQ:icqX-WAB-GENDER:2

相關文章
相關標籤/搜索