updated 新增对粤语的支持

This commit is contained in:
PASSER-BY committed 2021-11-23 22:45:35 +08:00
1 parent b2d6c3be22
commit e7315578b9
3 files changed
+289 -89

No files matched your search

+143 -44
View File
@@ -20,7 +20,7 @@
exp:/^(.+)&l([^#]+)&o/g,
str:'$1$2'
},
{//有大有小,增加不确定性
{//有大有小,增加不确定性
exp:/^(.+)?,o([sb])([^#]+)&l/g,
str:'$1,x$2$3'
},
@@ -202,10 +202,10 @@
'[s|d]':['子女','儿女','小孩','孩子','孩儿','宝宝','娃'],
'[s,s|s,d|d,s|d,d]':['孙辈'],
// 本家
'f':['爸爸','父亲','阿爸','老爸','老窦','爸','父','爹','爹爹','爹地','爹啲','老爹','大大','老爷子'],
'f':['爸爸','父亲','老爸','爸','父','爹','爹爹','爹地','爹啲','老爹','大大','老爷子'],
// 爷爷
'f,f':['爷爷','祖父','阿爷','奶爷','阿公','老爷'],
'f,f,f':['曾祖父','曾祖','太爷','太爷爷','太公','祖公','祖奶爷','太老爷'],
'f,f':['爷爷','祖父','奶爷','阿公','老爷'],
'f,f,f':['曾祖父','曾祖','太爷','太爷爷','祖公','祖奶爷','太老爷'],
'f,f,f,f':['高祖父','老太奶爷','老太爷','祖太爷','祖太爷爷','祖太公','高王父'],
'f,f,f,f,f':['天祖父','高祖'],
'f,f,f,f,f,f':['烈祖父','烈祖'],
@@ -380,7 +380,7 @@
'f,f,f,xs,d,s&l,w':['姑表姑表叔母'],
'f,f,f,xs,d,d':['姑表姑表姑母'],
'f,f,f,xs,d,d,h':['姑表姑表姑父'],
'f,f,m':['曾祖母','太奶奶','太婆','祖婆','祖奶奶'],
'f,f,m':['曾祖母','太奶奶','祖婆','祖奶奶'],
'f,f,m,f':['高外祖父','老太姥爷','祖太姥爷','祖太公','高王父'],
'f,f,m,m':['高外祖母','老太姥姥','祖太姥姥','祖太姥娘','祖太婆','高王母'],
// 舅表*
@@ -437,9 +437,9 @@
'f,f,xb':['堂祖父','从祖祖父','从祖父','x爷爷','x大爷'],
'f,f,xb,w':['堂祖母','从祖祖母','从祖母'],
// 再从父
'f,f,xb,s&o':['堂伯','堂伯父','从父伯父'],
'f,f,xb,s&o':['堂伯','堂伯父','从父伯父','叔伯伯'],
'f,f,xb,s&o,w':['堂伯母','从父伯母'],
'f,f,xb,s&l':['堂叔','堂叔父','从父叔父','叔伯叔父'],
'f,f,xb,s&l':['堂叔','堂叔父','从父叔父','叔伯叔父','叔伯叔'],
'f,f,xb,s&l,w':['堂婶','堂叔母','堂婶母','从父叔母','叔伯叔母'],
'f,f,xb,s,s&o':['从堂兄','再从父兄','再从兄','从祖兄'],
'f,f,xb,s,s&o,w':['从堂嫂','再从父嫂','再从嫂'],
@@ -466,7 +466,7 @@
'f,f,xb,s,d,d':['从堂外甥女','再从父外甥女'],
'f,f,xb,s,d,d,h':['从堂甥女婿','再从父甥女婿'],
// 从父姑表
'f,f,xb,d':['堂姑','堂姑妈','堂姑母','从父姑母','叔伯姑母'],
'f,f,xb,d':['堂姑','堂姑妈','堂姑母','从父姑母','叔伯姑母','叔伯姑'],
'f,f,xb,d,h':['堂姑丈','堂姑爸','堂姑父','从父姑父','叔伯姑父'],
'f,f,xb,d,s&o':['堂姑表哥','从父姑表哥'],
'f,f,xb,d,s&o,w':['堂姑表嫂','从父姑表嫂'],
@@ -528,8 +528,8 @@
'f,f,xs,d,d,d':['堂姑表表甥女','姑表姑表甥女'],
'f,f,xs,d,d,d,h':['堂姑表表甥婿','姑表姑表甥婿'],
// 奶奶
'f,m':['奶奶','祖母','阿嫲','阿嬷','嫲嫲'],
'f,m,f':['曾外祖父','外太公','太姥爷'],
'f,m':['奶奶','祖母','嫲嫲'],
'f,m,f':['曾外祖父','太姥爷'],
'f,m,f,f':['曾外曾祖父','祖太爷','祖太爷爷','祖太公','高王父'],
'f,m,f,m':['曾外曾祖母','祖太太','祖太奶奶','祖太婆','高王母'],
// 从父*
@@ -576,7 +576,7 @@
'f,m,f,xs,d,s&l,w':['姑表姨表叔母'],
'f,m,f,xs,d,d':['姑表姨表姑母'],
'f,m,f,xs,d,d,h':['姑表姨表姑父'],
'f,m,m':['曾外祖母','外太婆','太姥姥'],
'f,m,m':['曾外祖母','太姥姥'],
'f,m,m,f':['曾外曾外祖父','祖太姥爷','祖太公','高王父'],
'f,m,m,m':['曾外曾外祖母','祖太姥姥','祖太姥娘','祖太婆','高王母'],
// 舅表*
@@ -708,10 +708,10 @@
'f,m,xs,d,d,d':['从母姑表甥女'],
'f,m,xs,d,d,d,h':['从母姑表甥婿'],
// 从父
'f,ob':['伯父','伯伯','阿伯','大伯','大爹','大爸','x伯'],
'f,ob,w':['伯母','伯妈','伯娘','大娘','大妈','x妈'],
'f,lb':['叔叔','叔父','阿叔','叔爸','叔爹','仲父','小叔','小爹','小爸','幺爸','x叔','叔'],
'f,lb,w':['婶婶','婶母','婶娘','婶爹','婶妈','小婶','小婶娘','婶子','婶儿','家婶','叔母','阿婶','叔妈','叔娘','季母','小娘','小妈','幺婶','x婶','婶'],
'f,ob':['伯父','伯伯','阿伯','大爹','大爸','x伯'],
'f,ob,w':['伯母','伯妈','大娘','大妈','x妈'],
'f,lb':['叔叔','叔父','叔爸','叔爹','仲父','小叔','小爹','小爸','幺爸','x叔','叔'],
'f,lb,w':['婶婶','婶母','婶娘','婶爹','婶妈','小婶','小婶娘','婶子','婶儿','家婶','叔母','叔妈','叔娘','季母','小娘','小妈','幺婶','x婶','婶'],
'f,xb,w,f':['叔眷外祖父','叔眷王父','叔眷毑父','叔眷姥爷','眷姥爷'],
'f,xb,w,m':['叔眷外祖女','叔眷王母','叔眷毑母','叔眷姥姥','眷姥姥'],
'f,xb,w,xb':['叔眷舅父','眷舅父'],
@@ -756,13 +756,13 @@
'f,xb,s,w,xs&o,h':['从父兄弟眷姊婿'],
'f,xb,s,w,xs&l':['从父兄弟眷妹'],
'f,xb,s,w,xs&l,h':['从父兄弟眷妹婿'],
'f,xb,s,s':['堂侄','堂侄子','堂侄男','从父侄男','叔伯侄男'],
'f,xb,s,s':['堂侄','堂侄子','堂侄男','从父侄男','叔伯侄男','叔伯侄'],
'f,xb,s,s,w':['堂侄媳妇','堂侄妇','从父侄妇','叔伯侄妇'],
'f,xb,s,s,s':['堂侄孙男','从父侄孙男','堂侄孙','从父侄孙'],
'f,xb,s,s,s,w':['堂侄孙妇','从父侄孙妇'],
'f,xb,s,s,d':['堂侄孙女','从父侄孙女','堂侄孙','从父侄孙'],
'f,xb,s,s,d,h':['堂侄孙婿','从父侄孙婿'],
'f,xb,s,d':['堂侄女','从父侄女','叔伯侄女','堂侄'],
'f,xb,s,d':['堂侄女','从父侄女','叔伯侄女','堂侄','叔伯侄'],
'f,xb,s,d,h':['堂侄女婿','堂侄婿','从父侄婿','叔伯侄婿'],
'f,xb,s,d,s':['堂侄外孙男','从父侄外孙男','堂侄外孙','从父侄外孙'],
'f,xb,s,d,s,w':['堂侄外孙妇','从父侄外孙妇'],
@@ -782,13 +782,13 @@
'f,xb,d,h,xs&o,h':['从父姊妹姻姊婿'],
'f,xb,d,h,xs&l':['从父姊妹姻妹'],
'f,xb,d,h,xs&l,h':['从父姊妹姻妹婿'],
'f,xb,d,s':['堂外甥','堂甥男','从父甥男','堂甥'],
'f,xb,d,s':['堂外甥','堂甥男','从父甥男','叔伯甥','堂甥'],
'f,xb,d,s,w':['堂甥媳妇','堂甥妇','从父甥妇'],
'f,xb,d,s,s':['堂甥孙男','从父甥孙男','堂甥孙','从父甥孙'],
'f,xb,d,s,s,w':['堂甥孙妇','从父甥孙妇'],
'f,xb,d,s,d':['堂甥孙女','从父甥孙女','堂甥孙','从父甥孙'],
'f,xb,d,s,d,h':['堂甥孙婿','从父甥孙婿'],
'f,xb,d,d':['堂外甥女','堂甥女','从父甥女','堂甥'],
'f,xb,d,d':['堂外甥女','堂甥女','从父甥女','叔伯甥','堂甥'],
'f,xb,d,d,h':['堂甥女婿','堂甥婿','从父甥婿'],
'f,xb,d,d,s':['堂甥外孙男','从父甥外孙男','堂甥外孙','从父甥外孙'],
'f,xb,d,d,s,w':['堂甥外孙妇','从父甥外孙妇'],
@@ -801,7 +801,7 @@
'f,xs,h':['姑丈','姑父','姑爸','姑夫','x姑丈','x姑父'],
'f,xs,h,f':['姑姻祖父','姑姻王父','姑姻爷爷','姻爷爷'],
'f,xs,h,m':['姑姻祖母','姑姻王父','姑姻奶奶','姻奶奶'],
'f,xs,h,ob':['姑姻伯父','姻伯父','姻世伯'],
'f,xs,h,ob':['姑姻伯父','姻伯父'],
'f,xs,h,ob,w':['姑姻伯母','姻伯母'],
'f,xs,h,lb':['姑姻叔父','姻叔父'],
'f,xs,h,lb,w':['姑姻叔母','姻叔母'],
@@ -864,9 +864,9 @@
'f,xs,d,d,d':['姑表甥外孙女','表甥外孙女','姑表甥外孙','表甥外孙'],
'f,xs,d,d,d,h':['姑表甥外孙婿','表甥外孙婿'],
// 外家
'm':['妈妈','母亲','老妈','阿妈','老母','老妈子','妈','母','娘','娘亲','妈咪'],
'm':['妈妈','母亲','老妈','老妈子','妈','母','娘','娘亲','妈咪'],
// 外公
'm,f':['外公','姥爷','外祖父','外王父','阿公','毑父'],
'm,f':['外公','外祖父','外王父','客公','外爷','毑父'],
'm,f,f':['外曾祖父','曾外祖父','外太祖父','外曾王父','外太公','外太爷爷','太外祖父'],
'm,f,f,f':['外高祖父','高外祖父','祖太爷','祖太爷爷','祖太公','高王父'],
'm,f,f,m':['外高祖母','高外祖母','祖太太','祖太奶奶','祖太婆','高王母'],
@@ -1038,8 +1038,8 @@
'm,f,xs,d,d,d':['姑表姨表甥女'],
'm,f,xs,d,d,d,h':['姑表姨表甥婿'],
// 外婆
'm,m':['外婆','外祖母','外王母','姥姥','阿婆','毑母'],
'm,m,f':['外曾外祖父','外太外公','外太姥爷'],
'm,m':['外婆','外祖母','外王母','客婆','毑母'],
'm,m,f':['外曾外祖父','外太姥爷'],
'm,m,f,f':['外曾外曾祖父','祖太爷','祖太爷爷','祖太公','高王父'],
'm,m,f,m':['外曾外曾祖母','祖太太','祖太奶奶','祖太婆','高王母'],
// 从父*
@@ -1078,7 +1078,7 @@
'm,m,f,xs,d,s,w':['姑表姨表舅母'],
'm,m,f,xs,d,d':['姑表姨表姨母'],
'm,m,f,xs,d,d,h':['姑表姨表姨父'],
'm,m,m':['外曾外祖母','外太外婆','外太姥姥'],
'm,m,m':['外曾外祖母','外太姥姥'],
'm,m,m,f':['外曾外曾外祖父','祖太姥爷','祖太公','高王父'],
'm,m,m,m':['外曾外曾外祖母','祖太姥姥','祖太姥娘','祖太婆','高王母'],
// 舅表*
@@ -1187,7 +1187,7 @@
'm,m,xs,s,d,d':['从母舅表甥女'],
'm,m,xs,s,d,d,h':['从母舅表甥婿'],
// 再从母
'm,m,xs,d':['姨姨母','从母姨母'],
'm,m,xs,d':['姨姨母','姨姨','从母姨母'],
'm,m,xs,d,h':['姨姨父','从母姨父','从母姨丈'],
'm,m,xs,d,s&o':['再从母兄'],
'm,m,xs,d,s&o,w':['再从母嫂'],
@@ -1277,13 +1277,13 @@
// 从母
'm,os':['大姨','大姨妈'],
'm,os,h':['大姨父','大姨丈'],
'm,ls':['小姨','小姨妈','姨仔'],
'm,ls':['小姨','小姨妈'],
'm,ls,h':['小姨父','小姨丈'],
'm,xs':['姨妈','姨母','姨姨','姨娘','阿姨','姨','x姨','x姨妈'],
'm,xs,h':['姨丈','姨父','姨爸','姨爹','姨婿','姨郎','x姨丈','x姨父'],
'm,xs,h,f':['姨姻祖父','姨姻王父','姨姻爷爷','姻爷爷'],
'm,xs,h,m':['姨姻祖母','姨姻王父','姨姻奶奶','姻奶奶'],
'm,xs,h,ob':['姨姻伯父','姻伯父','姻世伯'],
'm,xs,h,ob':['姨姻伯父','姻伯父'],
'm,xs,h,ob,w':['姨姻伯母','姻伯母'],
'm,xs,h,lb':['姨姻叔父','姻叔父'],
'm,xs,h,lb,w':['姨姻叔母','姻叔母'],
@@ -1500,7 +1500,7 @@
'h,xb,d,d,h':['叔侄外孙婿'],
'h,os':['大姑子','大姑','大娘姑','大姑姐','夫姐'],
'h,os,h':['大姑夫','姊丈','大姑姐夫'],
'h,ls':['小姑子','小姑','小姑妹','姑仔','夫妹'],
'h,ls':['小姑子','小姑','小姑妹','夫妹'],
'h,ls,h':['小姑夫','小亘子','小姑妹夫'],
'h,xs,s':['姑甥男','姑男','婆家甥男'],
'h,xs,s,w':['姑甥妇','姑妇'],
@@ -1637,9 +1637,9 @@
'w,xs,d,d':['内甥外孙女','姨甥外孙女'],
'w,xs,d,d,h':['内甥外孙婿','姨甥外孙婿'],
// 兄弟
'ob':['哥哥','哥','兄','阿哥','大佬','老哥','兄长','胞哥','大哥','x哥'],
'ob,w':['嫂子','嫂','嫂嫂','阿嫂','兄嫂','大嫂','x嫂'],
'lb':['弟弟','弟','细佬','胞弟','老弟','x弟'],
'ob':['哥哥','哥','兄','老哥','兄长','胞哥','大哥','x哥'],
'ob,w':['嫂子','嫂','嫂嫂','兄嫂','大嫂','x嫂'],
'lb':['弟弟','弟','胞弟','老弟','x弟'],
'lb,w':['弟妹','弟媳','弟媳妇','弟妇','x弟妹'],
'xb':['兄弟'],
'xb,w,f':['兄弟眷父'],
@@ -1795,7 +1795,7 @@
'xb,d,d,d,s':['侄外曾外曾外孙'],
'xb,d,d,d,d':['侄外曾外曾外孙女'],
// 姐妹
'os':['姐姐','姐','家姐','阿姐','阿姊','胞姐','大姐','x姐'],
'os':['姐姐','姐','阿姊','胞姐','大姐','x姐'],
'os,h':['姐夫','姊夫','姊丈','姊婿','大姐夫','x姐夫'],
'ls':['妹妹','妹','胞妹','老妹','x妹'],
'ls,h':['妹夫','妹丈','妹婿','x妹夫'],
@@ -1953,9 +1953,9 @@
'xs,d,d,d,s':['甥外曾外曾外孙'],
'xs,d,d,d,d':['甥外曾外曾外孙女'],
//自家
's':['儿子','男儿','儿','仔','阿仔','仔仔','x儿子'],
's':['儿子','男儿','儿','x儿子'],
's,w':['儿媳','儿媳妇','新妇'],
's,s':['孙子','孙男','孙儿','x孙子','孙'],
's,s':['孙子','孙男','孙儿','x孙子'],
's,s,w':['孙媳妇','孙媳','孙妇'],
's,s,w,f':['孙眷男'],
's,s,w,m':['孙眷女'],
@@ -2034,7 +2034,7 @@
's,d,d,s,w':['曾外曾外孙媳妇'],
's,d,d,d':['曾外曾外孙女'],
's,d,d,d,h':['曾外曾外孙女婿'],
'd':['女儿','千金','闺女','女','阿女','女女','掌上明珠','乖囡','囡囡','姑娘','x女儿'],
'd':['女儿','千金','闺女','掌上明珠','乖囡','囡囡','姑娘','x女儿'],
'd,h':['女婿','姑爷','女婿子','女婿儿','儿婿'],
'd,s':['外孙'],
'd,s,w':['外孙媳妇','外孙妇'],
@@ -2192,6 +2192,90 @@
'd,h,xs,d':['女姻外孙女','息姻外孙女'],
'd,h,xs,d,h':['女姻外孙婿','息姻外孙婿'],
};
var _language = {};
_language['cantonese'] = {
'f':['阿爸','老窦'],
'f,f':['阿爷','吖爷'],
'f,f,f':['太公'],
'f,f,m':['太婆'],
'f,m':['阿嫲','阿嬷','吖麻'],
'f,m,f':['太外公'],
'f,m,m':['太外婆'],
'f,ob':['大伯'],
'f,ob,w':['伯娘'],
'f,lb':['阿叔'],
'f,lb,w':['阿婶'],
'0,f,xb,d,s':['堂姨甥'],
'1,f,xb,d,s':['堂外甥'],
'0,f,xb,d,d':['堂姨甥女'],
'1,f,xb,d,d':['堂外甥女'],
'f,os':['姑妈'],
'f,ls':['姑姐','姑仔'],
'f,xs,h':['姑丈'],
'0,f,xs,d,s':['姑表姨甥'],
'1,f,xs,d,s':['姑表外甥'],
'0,f,xs,d,d':['姑表姨甥女'],
'1,f,xs,d,d':['姑表外甥女'],
'm':['阿妈','老母'],
'm,f':['阿公'],
'm,f,f':['外太公'],
'm,f,m':['外太婆'],
'm,m':['阿婆'],
'm,m,f':['外太外公'],
'm,m,m':['外太外婆'],
'm,ob':['舅父'],
'm,lb':['舅仔'],
'm,xb,w':['舅母'],
'0,m,xb,d,s':['舅表姨甥'],
'1,m,xb,d,s':['舅表外甥'],
'0,m,xb,d,d':['舅表姨甥女'],
'1,m,xb,d,d':['舅表外甥女'],
'm,os':['姨妈'],
'm,ls':['姨仔'],
'm,xs,h':['姨丈'],
'0,m,xb,d,s':['姨姨甥'],
'1,m,xb,d,s':['姨外甥'],
'0,m,xb,d,d':['姨姨甥女'],
'1,m,xb,d,d':['姨外甥女'],
'ob':['阿哥','大佬','吖哥'],
'ob,w':['阿嫂'],
'lb':['阿弟','细佬'],
'lb,w':['弟妇'],
'xb,s':['侄'],
'xb,d':['侄女'],
'os':['阿姐','家姐','吖姐'],
'os,w':['姐夫'],
'ls':['阿妹','细妹','吖妹'],
'ls,w':['妹夫'],
'0,xs,s':['姨甥'],
'1,xs,s':['外甥'],
'0,xs,d':['姨甥女'],
'1,xs,d':['外甥女'],
's':['仔','阿仔','仔仔'],
's,w':['新妇'],
's,s':['孙'],
's,s,w':['孙新妇'],
's,s,s':['息仔'],
's,s,d':['息女'],
's,d':['孙女'],
's,d,h':['孙女婿'],
's,d,s':['外息仔'],
's,d,d':['外息女'],
'd':['女','阿女','女女'],
'd,s':['外孙'],
'd,s,w':['外孙新妇'],
'd,s,s':['外息仔'],
'd,s,d':['外息女'],
'd,d':['外孙女'],
'd,d,h':['外孙女婿'],
'd,d,s':['外息仔'],
'd,d,d':['外息女'],
};
_language['northern'] = {
'm,f':['姥爷'],
'm,m':['姥姥'],
};
// 数组去重
var unique = function(arr) {
@@ -2233,6 +2317,7 @@
'女婿':'婿',
'媳':'妇',
'夫':'婿',
'姪':'侄',
'姊妹姻':'姻',
'女姻':'姻',
'兄弟眷':'眷',
@@ -2408,11 +2493,11 @@
}
var g = 0;
arr.forEach(function(r){
if(['f','m'].indexOf(r)>-1){
g++;
}else if(['s','d'].indexOf(r)>-1){
g--;
}
if(['f','m'].indexOf(r)>-1){
g++;
}else if(['s','d'].indexOf(r)>-1){
g--;
}
});
return arr.join(',')+(g?'':age);
}
@@ -2476,10 +2561,24 @@
text:'',
target:'',
sex:-1,
type:'default', //为'chain'时,reverse无效
reverse:false
type:'default', // 'chain'表示关系链
reverse:false, // true表示反向
language:'default', // 'cantonese'表示粤语地区
},parameter);
var sex = options.sex;
for(var lang in _language){
if(options.language==lang){
for(var key in _language[lang]){
_data[key] = _language[lang][key].concat(_data[key]||[]);
}
}else{
for(var key in _language[lang]){
if(_data[key]){
_data[key] = _data[key].concat(_language[lang][key]);
}
}
}
}
var from_selectors = getSelectors(options.text);
var to_selectors = options.target?getSelectors(options.target):[''];
// console.log('[selectors]',from_selectors,to_selectors);
@@ -2523,7 +2622,7 @@
});
return unique(result);
};
relationship({'text':'弟弟的表哥'});
// 数据量
relationship.dataCount = 0;
for(var i in _data){
+3 -1
View File
@@ -1 +1,3 @@
!function(s,f){"object"==typeof module&&module.exports?module.exports=f():s.relationship=f()}("undefined"!=typeof window?window:this,function(){var l=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb])([^#]+)&l/g,str:"$1,x$2$3"},{exp:/^(.+)?,l([sb])([^#]+)&o/g,str:"$1,x$2$3"},{exp:/(,[ds],(.+),[ds])&[ol]/g,str:"$1"},{exp:/(,o[sb])+(,o[sb])/,str:"$2"},{exp:/(,l[sb])+(,l[sb])/,str:"$2"},{exp:/^(.*)(,[fh1])(,[olx][sb])+,[olx]b(.*)$/,str:"$1$2,xb$4#$1$2$4"},{exp:/^(.*)(,[mw0])(,[olx][sb])+,[olx]s(.*)$/,str:"$1$2,xs$4#$1$2$4"},{exp:/(,[fh1])(,[olx][sb])+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb])+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb],[olx]b(.+)?$/,str:"$1#,xb$1"},{exp:/^,[olx][sb],[olx]s(.+)?$/,str:"$1#,xs$1"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](,[mf])/g,str:"$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*)(,[fh1]|[xol]b),[mf],s(.*)$/,str:"$1$2,xb$3#$1$2$3"},{exp:/^(.*)(,[mw0]|[xol]s),[mf],d(.*)$/,str:"$1$2,xs$3#$1$2$3"},{exp:/(,[mw0]|[xol]s),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",1$1#,xb$1"},{exp:/^,[mf],d(.+)?$/,str:",0$1#,xs$1"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol])?,[olx]s/g,str:",d"},{exp:/,[ds](&[ol])?,[olx]b/g,str:",s"},{exp:/(,[mwd0](&[ol])?|[olx]s),[ds](&[ol])?,m/g,str:"$1"},{exp:/(,[mwd0](&[ol])?|[olx]s),[ds](&[ol])?,f/g,str:"$1,h"},{exp:/(,[fhs1](&[ol])?|[olx]b),[ds](&[ol])?,f/g,str:"$1"},{exp:/(,[fhs1](&[ol])?|[olx]b),[ds](&[ol])?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:"$1#,w$1"},{exp:/^,[ds],f(.+)?$/,str:"$1#,h$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]+?\|[^\[\]]+?)?\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],t={"":["自己","我","本人","在下"],"[f,f|f,m|m,f|m,m]":["祖辈","祖父母"],"[f|m]":["父母","爹娘","爹妈","爸妈","双亲","二亲","两亲","二老","高堂"],"[h,f|h,m]":["公婆"],"[w,f|w,m]":["岳父母"],"[xb|xs]":["兄弟姐妹","同胞","手足"],"[f,xb,s&o|f,xb,s&l]":["堂兄弟"],"[f,xb,d&o|f,xb,d&l]":["堂姐妹"],"[f,xs,s&o|f,xs,s&l|m,xb,s&o|m,xb,s&l]":["表兄弟"],"[f,xs,d&o|f,xs,d&l|m,xb,d&o|m,xb,d&l]":["表姐妹"],"[s|d]":["子女","儿女","小孩","孩子","孩儿","宝宝","娃"],"[s,s|s,d|d,s|d,d]":["孙辈"],f:["爸爸","父亲","阿爸","老爸","老窦","爸","父","爹","爹爹","爹地","爹啲","老爹","大大","老爷子"],"f,f":["爷爷","祖父","阿爷","奶爷","阿公","老爷"],"f,f,f":["曾祖父","曾祖","太爷","太爷爷","太公","祖公","祖奶爷","太老爷"],"f,f,f,f":["高祖父","老太奶爷","老太爷","祖太爷","祖太爷爷","祖太公","高王父"],"f,f,f,f,f":["天祖父","高祖"],"f,f,f,f,f,f":["烈祖父","烈祖"],"f,f,f,f,f,f,f":["太祖父","太祖"],"f,f,f,f,f,f,f,f":["远祖父","远祖"],"f,f,f,f,f,f,f,f,f":["鼻祖父","鼻祖","始祖"],"f,f,f,f,f,f,f,f,f,ob":["伯鼻祖父"],"f,f,f,f,f,f,f,f,f,ob,w":["伯鼻祖母"],"f,f,f,f,f,f,f,f,f,lb":["叔鼻祖父"],"f,f,f,f,f,f,f,f,f,lb,w":["叔鼻祖母"],"f,f,f,f,f,f,f,f,f,xs":["姑鼻祖母"],"f,f,f,f,f,f,f,f,f,xs,h":["姑鼻祖父"],"f,f,f,f,f,f,f,f,m":["鼻祖母"],"f,f,f,f,f,f,f,f,m,xb":["舅鼻祖父"],"f,f,f,f,f,f,f,f,m,xb,w":["舅鼻祖母"],"f,f,f,f,f,f,f,f,m,xs":["姨鼻祖母"],"f,f,f,f,f,f,f,f,m,xs,h":["姨鼻祖父"],"f,f,f,f,f,f,f,f,ob":["伯远祖父"],"f,f,f,f,f,f,f,f,ob,w":["伯远祖母"],"f,f,f,f,f,f,f,f,lb":["叔远祖父"],"f,f,f,f,f,f,f,f,lb,w":["叔远祖母"],"f,f,f,f,f,f,f,f,xs":["姑远祖母"],"f,f,f,f,f,f,f,f,xs,h":["姑远祖父"],"f,f,f,f,f,f,f,m":["远祖母"],"f,f,f,f,f,f,f,m,xb":["舅远祖父"],"f,f,f,f,f,f,f,m,xb,w":["舅远祖母"],"f,f,f,f,f,f,f,m,xs":["姨远祖母"],"f,f,f,f,f,f,f,m,xs,h":["姨远祖父"],"f,f,f,f,f,f,f,ob":["伯太祖父"],"f,f,f,f,f,f,f,ob,w":["伯太祖母"],"f,f,f,f,f,f,f,lb":["叔太祖父"],"f,f,f,f,f,f,f,lb,w":["叔太祖母"],"f,f,f,f,f,f,f,xs":["姑太祖母"],"f,f,f,f,f,f,f,xs,h":["姑太祖父"],"f,f,f,f,f,f,m":["太祖母"],"f,f,f,f,f,f,m,xb":["舅太祖父"],"f,f,f,f,f,f,m,xb,w":["舅太祖母"],"f,f,f,f,f,f,m,xs":["姨太祖母"],"f,f,f,f,f,f,m,xs,h":["姨太祖父"],"f,f,f,f,f,f,ob":["伯烈祖父"],"f,f,f,f,f,f,ob,w":["伯烈祖母"],"f,f,f,f,f,f,lb":["叔烈祖父"],"f,f,f,f,f,f,lb,w":["叔烈祖母"],"f,f,f,f,f,f,xs":["姑烈祖母"],"f,f,f,f,f,f,xs,h":["姑烈祖父"],"f,f,f,f,f,m":["烈祖母"],"f,f,f,f,f,m,xb":["舅烈祖父"],"f,f,f,f,f,m,xb,w":["舅烈祖母"],"f,f,f,f,f,m,xs":["姨烈祖母"],"f,f,f,f,f,m,xs,h":["姨烈祖父"],"f,f,f,f,f,ob":["伯天祖父"],"f,f,f,f,f,ob,w":["伯天祖母"],"f,f,f,f,f,lb":["叔天祖父"],"f,f,f,f,f,lb,w":["叔天祖母"],"f,f,f,f,f,xs":["姑天祖母"],"f,f,f,f,f,xs,h":["姑天祖父"],"f,f,f,f,m":["天祖母"],"f,f,f,f,m,xb":["舅天祖父Line truncated
!function(s,f){"object"==typeof module&&module.exports?module.exports=f():s.relationship=f()}("undefined"!=typeof window?window:this,function(){function s(s){s=s.replace(/[二|三|四|五|六|七|八|九|十]{1,2}/g,"x");for(var f=s.replace(/我的?/,"").replace(/家的?/,"的").split("的"),x=[""],d=!0,m={"哥":"兄","姐":"姊","媳妇":"妇","女婿":"婿","媳":"妇","夫":"婿","姪":"侄","姊妹姻":"姻","女姻":"姻","兄弟眷":"眷","男眷":"眷"};f.length;){var b=f.shift(),w=[];for(var o in h){var l=h[o];if(l.indexOf(b)>-1)w.push(o);else{var e=b;for(var r in m)e=e.replace(r,m[r]);var t=l.map(function(s){for(var f in m)s=s.replace(f,m[f]);return s});t.indexOf(e)>-1&&w.push(o)}}w.length||(d=!1);var n=[];x.forEach(function(s){w.forEach(function(f){n.push(s+","+f)})}),x=n}return d?x:[]}function f(s,f){var x=[],d={};if(f<0?0==s.indexOf(",w")?s=",1"+s:0==s.indexOf(",h")&&(s=",0"+s):0==s.indexOf(",1")||0==s.indexOf(",0")||f>-1&&(s=","+f+s),s.match(/,[w0],w|,[h1],h/))return!1;var m=function(s){var f="";if(!d[s]){d[s]=!0;var b=!0;do{f=s;for(var h in w){var o=w[h];if(s=s.replace(o.exp,o.str),s.indexOf("#")>-1){for(var l=s.split("#"),e=0;e<l.length;e++)m(l[e]);b=!1;break}}}while(f!=s);if(b){if(s.match(/,[w0],w|,[h1],h/))return!1;s=s.replace(/,[01]/,"").substr(1),x.push(s)}}};return m(s),l(x)}function x(s){var f=[],x=function(s){var f=[];for(var x in h)if(x.replace(/&[ol]/g,"")==s)f.push(h[x][0]);else for(var d=s;d.match(/[ol](b|s)/);)if(d=d.replace(/[ol](b|s)/,"x$1"),d==x){f.push(h[x][0]);break}return f};if(h[s])f.push(h[s][0]);else if(f=x(s),f.length||(s=s.replace(/&[ol]/g,""),f=x(s)),f.length||(s=s.replace(/[ol](b|s)/g,"x$1"),f=x(s)),!f.length){var d=s.replace(/x/g,"l");f=x(d);var m=s.replace(/x/g,"o");f=f.concat(x(m))}return f}function d(s,f){var x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol]/g,""),f=f?1:0;var m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.lastIndexOf(","));for(var b=s.split(",").reverse(),w=m.split(",").reverse(),h=[],o=0;o<b.length;o++)h.push(x[b[o]][w[o]]);var l=0;return h.forEach(function(s){["f","m"].indexOf(s)>-1?l++:["s","d"].indexOf(s)>-1&&l--}),h.join(",")+(l?"":d)}return""}function m(s){for(var f=s.split(","),x=[],d=0;d<f.length;d++){var m=f[d].replace(/&[ol]/,"");x.push(h[m][0])}return x.join("的")}function b(s,f){for(var x=s.split(","),m=f.split(","),b=0;b<x.length&&b<m.length&&x[b]==m[b];b++);var w=-1;m[b-1]&&(w=m[b-1].match(/([fhs1](&[ol])?|[olx]b)$/)?1:0);var h=-1;if(f&&(h=f.match(/,([fhs1](&[ol])?|[olx]b)$/)?1:0),b){var o=x.slice(b).join(","),l=m.slice(b).join(",");return{selector:(l?","+d(l,w):"")+(o?","+o:""),sex:h}}return{selector:s,sex:h}}var w=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb])([^#]+)&l/g,str:"$1,x$2$3"},{exp:/^(.+)?,l([sb])([^#]+)&o/g,str:"$1,x$2$3"},{exp:/(,[ds],(.+),[ds])&[ol]/g,str:"$1"},{exp:/(,o[sb])+(,o[sb])/,str:"$2"},{exp:/(,l[sb])+(,l[sb])/,str:"$2"},{exp:/^(.*)(,[fh1])(,[olx][sb])+,[olx]b(.*)$/,str:"$1$2,xb$4#$1$2$4"},{exp:/^(.*)(,[mw0])(,[olx][sb])+,[olx]s(.*)$/,str:"$1$2,xs$4#$1$2$4"},{exp:/(,[fh1])(,[olx][sb])+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb])+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb],[olx]b(.+)?$/,str:"$1#,xb$1"},{exp:/^,[olx][sb],[olx]s(.+)?$/,str:"$1#,xs$1"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](,[mf])/g,str:"$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*)(,[fh1]|[xol]b),[mf],s(.*)$/,str:"$1$2,xb$3#$1$2$3"},{exp:/^(.*)(,[mw0]|[xol]s),[mf],d(.*)$/,str:"$1$2,xs$3#$1$2$3"},{exp:/(,[mw0]|[xol]s),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",1$1#,xb$1"},{exp:/^,[mf],d(.+)?$/,str:",0$1#,xs$1"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol])?,[olx]s/g,str:",d"},{exp:/,[ds](&[ol])?,[olx]b/g,str:",s"},{exp:/(,[mwd0](&[ol])?|[olx]s),[ds](&[ol])?,m/g,str:"$1"},{exp:/(,[mwd0](&[ol])?|[olx]s),[ds](&[ol])?,f/g,str:"$1,h"},{exp:/(,[fhs1](&[ol])?|[olx]b),[ds](&[ol])?,f/g,str:"$1"},{exp:/(,[fhs1](&[ol])?|[olx]b),[ds](&[ol])?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:"$1#,w$1"},{exp:/^,[ds],f(.+)?$/,str:"$1#,h$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]+?\|[^\[\]]+?)?\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],h={"":["自己","我","本人","在下"],"[f,f|f,m|m,f|m,m]":["祖辈","祖父母"],"[f|m]":["父母","爹娘","爹妈","爸妈","双亲","二亲","两亲","二老","高堂"],"[h,f|h,m]":["公婆"],"[w,f|w,m]":["岳父母"],"[xb|xs]":["兄弟姐妹","同胞","手足"],"[f,xb,s&o|f,xb,s&l]":["堂兄弟"Line truncated
"m,m,m,xb,s,d":["舅表舅表姨母"],"m,m,m,xb,s,d,h":["舅表舅表姨父"],"m,m,m,xb,d":["舅表姨外祖母"],"m,m,m,xb,d,h":["舅表姨外祖父"],"m,m,m,xb,d,s":["舅表姨表舅父"],"m,m,m,xb,d,s,w":["舅表姨表舅母"],"m,m,m,xb,d,d":["舅表姨表姨母"],"m,m,m,xb,d,d,h":["舅表姨表姨父"],"m,m,m,xs":["姨外曾外祖母","姨太姥姥"],"m,m,m,xs,h":["姨外曾外祖父","姨太姥爷"],"m,m,m,xs,s":["从母舅外祖父"],"m,m,m,xs,s,w":["从母舅外祖母"],"m,m,m,xs,s,s":["从母舅表舅父"],"m,m,m,xs,s,s,w":["从母舅表舅母"],"m,m,m,xs,s,d":["从母舅表姨母"],"m,m,m,xs,s,d,h":["从母舅表姨父"],"m,m,m,xs,d":["从母姨外祖母","从母姨姥姥"],"m,m,m,xs,d,h":["从母姨外祖父","从母姨姥爷"],"m,m,m,xs,d,s":["再从母舅父"],"m,m,m,xs,d,s,w":["再从母舅母"],"m,m,m,xs,d,d":["再从母姨母"],"m,m,m,xs,d,d,h":["再从母姨父"],"m,m,m,xs,d,d,s&o":["三从母兄"],"m,m,m,xs,d,d,s&o,w":["三从母嫂"],"m,m,m,xs,d,d,s&l":["三从母弟"],"m,m,m,xs,d,d,s&l,w":["三从母弟媳"],"m,m,m,xs,d,d,d&o":["三从母姊"],"m,m,m,xs,d,d,d&o,h":["三从母姊夫"],"m,m,m,xs,d,d,d&l":["三从母妹"],"m,m,m,xs,d,d,d&l,h":["三从母妹夫"],"m,m,xb":["外舅公","外舅祖父","外太舅父","舅外祖父","舅姥爷","舅外公","舅公","x舅姥爷"],"m,m,xb,w":["外舅婆","外舅祖母","外太舅母","舅外祖母","舅姥姥","舅婆","外妗婆"],"m,m,xb,s":["舅表舅父","舅表舅爸","表舅父","表舅爸","表舅","表舅舅","舅表舅舅"],"m,m,xb,s,w":["舅表舅母","舅表舅妈","表舅母","表舅妈"],"m,m,xb,s,s&o":["舅表舅表哥"],"m,m,xb,s,s&o,w":["舅表舅表嫂"],"m,m,xb,s,s&l":["舅表舅表弟"],"m,m,xb,s,s&l,w":["舅表舅表弟媳"],"m,m,xb,s,s,s":["舅表舅表侄男"],"m,m,xb,s,s,s,w":["舅表舅表侄妇"],"m,m,xb,s,s,d":["舅表舅表侄女"],"m,m,xb,s,s,d,h":["舅表舅表侄婿"],"m,m,xb,s,d&o":["舅表舅表姐"],"m,m,xb,s,d&o,h":["舅表舅表姐夫"],"m,m,xb,s,d&l":["舅表舅表妹"],"m,m,xb,s,d&l,h":["舅表舅表妹夫"],"m,m,xb,s,d,s":["舅表舅表甥男"],"m,m,xb,s,d,s,w":["舅表舅表甥妇"],"m,m,xb,s,d,d":["舅表舅表甥女"],"m,m,xb,s,d,d,h":["舅表舅表甥婿"],"m,m,xb,d":["舅表姨母","舅表姨妈","表姨母","表姨妈","表姨","表阿姨","舅表姨姨"],"m,m,xb,d,h":["舅表姨父","舅表姨丈","表姨父","表姨丈"],"m,m,xb,d,s&o":["舅表姨表哥"],"m,m,xb,d,s&o,w":["舅表姨表嫂"],"m,m,xb,d,s&l":["舅表姨表弟"],"m,m,xb,d,s&l,w":["舅表姨表弟媳"],"m,m,xb,d,s,s":["舅表姨表侄男"],"m,m,xb,d,s,s,w":["舅表姨表侄妇"],"m,m,xb,d,s,d":["舅表姨表侄女"],"m,m,xb,d,s,d,h":["舅表姨表侄婿"],"m,m,xb,d,d&o":["舅表姨表姐"],"m,m,xb,d,d&o,h":["舅表姨表姐夫"],"m,m,xb,d,d&l":["舅表姨表妹"],"m,m,xb,d,d&l,h":["舅表姨表妹夫"],"m,m,xb,d,d,s":["舅表姨表甥男"],"m,m,xb,d,d,s,w":["舅表姨表甥妇"],"m,m,xb,d,d,d":["舅表姨表甥女"],"m,m,xb,d,d,d,h":["舅表姨表甥婿"],"m,m,xs":["外姨婆","姨外祖母","姨姥姥","外姨祖母","从母姨外祖母"],"m,m,xs,h":["外姨公","姨外祖父","姨姥爷","外姨祖父","从母姨外祖父"],"m,m,xs,s":["姨舅父","姨舅","从母舅父"],"m,m,xs,s,w":["姨舅母","从母舅母"],"m,m,xs,s,s&o":["从母舅表哥"],"m,m,xs,s,s&o,w":["从母舅表嫂"],"m,m,xs,s,s&l":["从母舅表弟"],"m,m,xs,s,s&l,w":["从母舅表弟媳"],"m,m,xs,s,s,s":["从母舅表侄男"],"m,m,xs,s,s,s,w":["从母舅表侄妇"],"m,m,xs,s,s,d":["从母舅表侄女"],"m,m,xs,s,s,d,h":["从母舅表侄婿"],"m,m,xs,s,d&o":["从母舅表姐"],"m,m,xs,s,d&o,h":["从母舅表姐夫"],"m,m,xs,s,d&l":["从母舅表妹"],"m,m,xs,s,d&l,h":["从母舅表妹夫"],"m,m,xs,s,d,s":["从母舅表甥男"],"m,m,xs,s,d,s,w":["从母舅表甥妇"],"m,m,xs,s,d,d":["从母舅表甥女"],"m,m,xs,s,d,d,h":["从母舅表甥婿"],"m,m,xs,d":["姨姨母","姨姨","从母姨母"],"m,m,xs,d,h":["姨姨父","从母姨父","从母姨丈"],"m,m,xs,d,s&o":["再从母兄"],"m,m,xs,d,s&o,w":["再从母嫂"],"m,m,xs,d,s&l":["再从母弟"],"m,m,xs,d,s&l,w":["再从母弟媳"],"m,m,xs,d,s,s":["再从母侄男"],"m,m,xs,d,s,s,w":["再从母侄妇"],"m,m,xs,d,s,d":["再从母侄女"],"m,m,xs,d,s,d,h":["再从母侄婿"],"m,m,xs,d,d&o":["再从母姊"],"m,m,xs,d,d&o,h":["再从母姊夫"],"m,m,xs,d,d&l":["再从母妹"],"m,m,xs,d,d&l,h":["再从母妹夫"],"m,m,xs,d,d,s":["再从母甥男"],"m,m,xs,d,d,s,w":["再从母甥妇"],"m,m,xs,d,d,d":["再从母甥女"],"m,m,xs,d,d,d,h":["再从母甥婿"],"m,xb":["舅舅","舅父","舅","娘舅","舅仔","母舅","舅爸","舅爹","阿舅","x舅"],"m,xb,w":["舅妈","舅母","妗子","妗妗","妗妈","妗母","阿妗","x舅妈"],"m,xb,w,f":["舅眷外祖父","舅眷王父","舅眷毑父","舅眷姥爷","眷姥爷"],"m,xb,w,m":["舅眷外祖女","舅眷王母","舅眷毑母","舅眷姥姥","眷姥姥"],"m,xb,w,xb":["舅眷舅父","眷舅父"],"m,xb,w,xb,w":["舅眷舅母","眷舅母"],"m,xb,w,xb,s&o":["舅眷舅表哥"],"m,xb,w,Line truncated
"d,d,h":["外孙女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]},o.northern={"m,f":["姥爷"],"m,m":["姥姥"]};var l=function(s){for(var f,x=[],d={},m=0;null!=(f=s[m]);m++){var b=f.replace(/[ol](?=s|b)/,"x").replace(/&[ol]/,"");b!=f||d[b]||(d[f]=!0)}for(var m=0;null!=(f=s[m]);m++){var b=f.replace(/[ol](?=s|b)/,"x").replace(/&[ol]/,"");b!=f?d[b]||x.indexOf(f)==-1&&x.push(f):x.indexOf(f)==-1&&x.push(f)}return x},e=function(w){var e=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,language:"default"},w),r=e.sex;for(var t in o)if(e.language==t)for(var n in o[t])h[n]=o[t][n].concat(h[n]||[]);else for(var n in o[t])h[n]&&(h[n]=h[n].concat(o[t][n]));var a=s(e.text),$=e.target?s(e.target):[""],p=[];return a.forEach(function(s){$.forEach(function(w){var h=b(s,w);r=h.sex>-1?h.sex:e.sex;for(var o=f(h.selector,r),l=0;l<o.length;l++){var t=o[l];if("chain"==e.type){e.reverse&&(t=d(t,r));var n=m(t);n&&p.push(n)}else{e.reverse&&(t=d(t,r));var a=x(r+","+t);a.length||(a=x(t)),a.length||0!=t.indexOf("w")&&0!=t.indexOf("h")||(a=x(t.substr(2))),a.length&&(p=p.concat(a))}}})}),l(p)};e.dataCount=0;for(var r in h)e.dataCount++;return e});
+143 -44
View File
@@ -20,7 +20,7 @@
exp:/^(.+)&l([^#]+)&o/g,
str:'$1$2'
},
{//有大有小,增加不确定性
{//有大有小,增加不确定性
exp:/^(.+)?,o([sb])([^#]+)&l/g,
str:'$1,x$2$3'
},
@@ -202,10 +202,10 @@
'[s|d]':['子女','儿女','小孩','孩子','孩儿','宝宝','娃'],
'[s,s|s,d|d,s|d,d]':['孙辈'],
// 本家
'f':['爸爸','父亲','阿爸','老爸','老窦','爸','父','爹','爹爹','爹地','爹啲','老爹','大大','老爷子'],
'f':['爸爸','父亲','老爸','爸','父','爹','爹爹','爹地','爹啲','老爹','大大','老爷子'],
// 爷爷
'f,f':['爷爷','祖父','阿爷','奶爷','阿公','老爷'],
'f,f,f':['曾祖父','曾祖','太爷','太爷爷','太公','祖公','祖奶爷','太老爷'],
'f,f':['爷爷','祖父','奶爷','阿公','老爷'],
'f,f,f':['曾祖父','曾祖','太爷','太爷爷','祖公','祖奶爷','太老爷'],
'f,f,f,f':['高祖父','老太奶爷','老太爷','祖太爷','祖太爷爷','祖太公','高王父'],
'f,f,f,f,f':['天祖父','高祖'],
'f,f,f,f,f,f':['烈祖父','烈祖'],
@@ -380,7 +380,7 @@
'f,f,f,xs,d,s&l,w':['姑表姑表叔母'],
'f,f,f,xs,d,d':['姑表姑表姑母'],
'f,f,f,xs,d,d,h':['姑表姑表姑父'],
'f,f,m':['曾祖母','太奶奶','太婆','祖婆','祖奶奶'],
'f,f,m':['曾祖母','太奶奶','祖婆','祖奶奶'],
'f,f,m,f':['高外祖父','老太姥爷','祖太姥爷','祖太公','高王父'],
'f,f,m,m':['高外祖母','老太姥姥','祖太姥姥','祖太姥娘','祖太婆','高王母'],
// 舅表*
@@ -437,9 +437,9 @@
'f,f,xb':['堂祖父','从祖祖父','从祖父','x爷爷','x大爷'],
'f,f,xb,w':['堂祖母','从祖祖母','从祖母'],
// 再从父
'f,f,xb,s&o':['堂伯','堂伯父','从父伯父'],
'f,f,xb,s&o':['堂伯','堂伯父','从父伯父','叔伯伯'],
'f,f,xb,s&o,w':['堂伯母','从父伯母'],
'f,f,xb,s&l':['堂叔','堂叔父','从父叔父','叔伯叔父'],
'f,f,xb,s&l':['堂叔','堂叔父','从父叔父','叔伯叔父','叔伯叔'],
'f,f,xb,s&l,w':['堂婶','堂叔母','堂婶母','从父叔母','叔伯叔母'],
'f,f,xb,s,s&o':['从堂兄','再从父兄','再从兄','从祖兄'],
'f,f,xb,s,s&o,w':['从堂嫂','再从父嫂','再从嫂'],
@@ -466,7 +466,7 @@
'f,f,xb,s,d,d':['从堂外甥女','再从父外甥女'],
'f,f,xb,s,d,d,h':['从堂甥女婿','再从父甥女婿'],
// 从父姑表
'f,f,xb,d':['堂姑','堂姑妈','堂姑母','从父姑母','叔伯姑母'],
'f,f,xb,d':['堂姑','堂姑妈','堂姑母','从父姑母','叔伯姑母','叔伯姑'],
'f,f,xb,d,h':['堂姑丈','堂姑爸','堂姑父','从父姑父','叔伯姑父'],
'f,f,xb,d,s&o':['堂姑表哥','从父姑表哥'],
'f,f,xb,d,s&o,w':['堂姑表嫂','从父姑表嫂'],
@@ -528,8 +528,8 @@
'f,f,xs,d,d,d':['堂姑表表甥女','姑表姑表甥女'],
'f,f,xs,d,d,d,h':['堂姑表表甥婿','姑表姑表甥婿'],
// 奶奶
'f,m':['奶奶','祖母','阿嫲','阿嬷','嫲嫲'],
'f,m,f':['曾外祖父','外太公','太姥爷'],
'f,m':['奶奶','祖母','嫲嫲'],
'f,m,f':['曾外祖父','太姥爷'],
'f,m,f,f':['曾外曾祖父','祖太爷','祖太爷爷','祖太公','高王父'],
'f,m,f,m':['曾外曾祖母','祖太太','祖太奶奶','祖太婆','高王母'],
// 从父*
@@ -576,7 +576,7 @@
'f,m,f,xs,d,s&l,w':['姑表姨表叔母'],
'f,m,f,xs,d,d':['姑表姨表姑母'],
'f,m,f,xs,d,d,h':['姑表姨表姑父'],
'f,m,m':['曾外祖母','外太婆','太姥姥'],
'f,m,m':['曾外祖母','太姥姥'],
'f,m,m,f':['曾外曾外祖父','祖太姥爷','祖太公','高王父'],
'f,m,m,m':['曾外曾外祖母','祖太姥姥','祖太姥娘','祖太婆','高王母'],
// 舅表*
@@ -708,10 +708,10 @@
'f,m,xs,d,d,d':['从母姑表甥女'],
'f,m,xs,d,d,d,h':['从母姑表甥婿'],
// 从父
'f,ob':['伯父','伯伯','阿伯','大伯','大爹','大爸','x伯'],
'f,ob,w':['伯母','伯妈','伯娘','大娘','大妈','x妈'],
'f,lb':['叔叔','叔父','阿叔','叔爸','叔爹','仲父','小叔','小爹','小爸','幺爸','x叔','叔'],
'f,lb,w':['婶婶','婶母','婶娘','婶爹','婶妈','小婶','小婶娘','婶子','婶儿','家婶','叔母','阿婶','叔妈','叔娘','季母','小娘','小妈','幺婶','x婶','婶'],
'f,ob':['伯父','伯伯','阿伯','大爹','大爸','x伯'],
'f,ob,w':['伯母','伯妈','大娘','大妈','x妈'],
'f,lb':['叔叔','叔父','叔爸','叔爹','仲父','小叔','小爹','小爸','幺爸','x叔','叔'],
'f,lb,w':['婶婶','婶母','婶娘','婶爹','婶妈','小婶','小婶娘','婶子','婶儿','家婶','叔母','叔妈','叔娘','季母','小娘','小妈','幺婶','x婶','婶'],
'f,xb,w,f':['叔眷外祖父','叔眷王父','叔眷毑父','叔眷姥爷','眷姥爷'],
'f,xb,w,m':['叔眷外祖女','叔眷王母','叔眷毑母','叔眷姥姥','眷姥姥'],
'f,xb,w,xb':['叔眷舅父','眷舅父'],
@@ -756,13 +756,13 @@
'f,xb,s,w,xs&o,h':['从父兄弟眷姊婿'],
'f,xb,s,w,xs&l':['从父兄弟眷妹'],
'f,xb,s,w,xs&l,h':['从父兄弟眷妹婿'],
'f,xb,s,s':['堂侄','堂侄子','堂侄男','从父侄男','叔伯侄男'],
'f,xb,s,s':['堂侄','堂侄子','堂侄男','从父侄男','叔伯侄男','叔伯侄'],
'f,xb,s,s,w':['堂侄媳妇','堂侄妇','从父侄妇','叔伯侄妇'],
'f,xb,s,s,s':['堂侄孙男','从父侄孙男','堂侄孙','从父侄孙'],
'f,xb,s,s,s,w':['堂侄孙妇','从父侄孙妇'],
'f,xb,s,s,d':['堂侄孙女','从父侄孙女','堂侄孙','从父侄孙'],
'f,xb,s,s,d,h':['堂侄孙婿','从父侄孙婿'],
'f,xb,s,d':['堂侄女','从父侄女','叔伯侄女','堂侄'],
'f,xb,s,d':['堂侄女','从父侄女','叔伯侄女','堂侄','叔伯侄'],
'f,xb,s,d,h':['堂侄女婿','堂侄婿','从父侄婿','叔伯侄婿'],
'f,xb,s,d,s':['堂侄外孙男','从父侄外孙男','堂侄外孙','从父侄外孙'],
'f,xb,s,d,s,w':['堂侄外孙妇','从父侄外孙妇'],
@@ -782,13 +782,13 @@
'f,xb,d,h,xs&o,h':['从父姊妹姻姊婿'],
'f,xb,d,h,xs&l':['从父姊妹姻妹'],
'f,xb,d,h,xs&l,h':['从父姊妹姻妹婿'],
'f,xb,d,s':['堂外甥','堂甥男','从父甥男','堂甥'],
'f,xb,d,s':['堂外甥','堂甥男','从父甥男','叔伯甥','堂甥'],
'f,xb,d,s,w':['堂甥媳妇','堂甥妇','从父甥妇'],
'f,xb,d,s,s':['堂甥孙男','从父甥孙男','堂甥孙','从父甥孙'],
'f,xb,d,s,s,w':['堂甥孙妇','从父甥孙妇'],
'f,xb,d,s,d':['堂甥孙女','从父甥孙女','堂甥孙','从父甥孙'],
'f,xb,d,s,d,h':['堂甥孙婿','从父甥孙婿'],
'f,xb,d,d':['堂外甥女','堂甥女','从父甥女','堂甥'],
'f,xb,d,d':['堂外甥女','堂甥女','从父甥女','叔伯甥','堂甥'],
'f,xb,d,d,h':['堂甥女婿','堂甥婿','从父甥婿'],
'f,xb,d,d,s':['堂甥外孙男','从父甥外孙男','堂甥外孙','从父甥外孙'],
'f,xb,d,d,s,w':['堂甥外孙妇','从父甥外孙妇'],
@@ -801,7 +801,7 @@
'f,xs,h':['姑丈','姑父','姑爸','姑夫','x姑丈','x姑父'],
'f,xs,h,f':['姑姻祖父','姑姻王父','姑姻爷爷','姻爷爷'],
'f,xs,h,m':['姑姻祖母','姑姻王父','姑姻奶奶','姻奶奶'],
'f,xs,h,ob':['姑姻伯父','姻伯父','姻世伯'],
'f,xs,h,ob':['姑姻伯父','姻伯父'],
'f,xs,h,ob,w':['姑姻伯母','姻伯母'],
'f,xs,h,lb':['姑姻叔父','姻叔父'],
'f,xs,h,lb,w':['姑姻叔母','姻叔母'],
@@ -864,9 +864,9 @@
'f,xs,d,d,d':['姑表甥外孙女','表甥外孙女','姑表甥外孙','表甥外孙'],
'f,xs,d,d,d,h':['姑表甥外孙婿','表甥外孙婿'],
// 外家
'm':['妈妈','母亲','老妈','阿妈','老母','老妈子','妈','母','娘','娘亲','妈咪'],
'm':['妈妈','母亲','老妈','老妈子','妈','母','娘','娘亲','妈咪'],
// 外公
'm,f':['外公','姥爷','外祖父','外王父','阿公','毑父'],
'm,f':['外公','外祖父','外王父','客公','外爷','毑父'],
'm,f,f':['外曾祖父','曾外祖父','外太祖父','外曾王父','外太公','外太爷爷','太外祖父'],
'm,f,f,f':['外高祖父','高外祖父','祖太爷','祖太爷爷','祖太公','高王父'],
'm,f,f,m':['外高祖母','高外祖母','祖太太','祖太奶奶','祖太婆','高王母'],
@@ -1038,8 +1038,8 @@
'm,f,xs,d,d,d':['姑表姨表甥女'],
'm,f,xs,d,d,d,h':['姑表姨表甥婿'],
// 外婆
'm,m':['外婆','外祖母','外王母','姥姥','阿婆','毑母'],
'm,m,f':['外曾外祖父','外太外公','外太姥爷'],
'm,m':['外婆','外祖母','外王母','客婆','毑母'],
'm,m,f':['外曾外祖父','外太姥爷'],
'm,m,f,f':['外曾外曾祖父','祖太爷','祖太爷爷','祖太公','高王父'],
'm,m,f,m':['外曾外曾祖母','祖太太','祖太奶奶','祖太婆','高王母'],
// 从父*
@@ -1078,7 +1078,7 @@
'm,m,f,xs,d,s,w':['姑表姨表舅母'],
'm,m,f,xs,d,d':['姑表姨表姨母'],
'm,m,f,xs,d,d,h':['姑表姨表姨父'],
'm,m,m':['外曾外祖母','外太外婆','外太姥姥'],
'm,m,m':['外曾外祖母','外太姥姥'],
'm,m,m,f':['外曾外曾外祖父','祖太姥爷','祖太公','高王父'],
'm,m,m,m':['外曾外曾外祖母','祖太姥姥','祖太姥娘','祖太婆','高王母'],
// 舅表*
@@ -1187,7 +1187,7 @@
'm,m,xs,s,d,d':['从母舅表甥女'],
'm,m,xs,s,d,d,h':['从母舅表甥婿'],
// 再从母
'm,m,xs,d':['姨姨母','从母姨母'],
'm,m,xs,d':['姨姨母','姨姨','从母姨母'],
'm,m,xs,d,h':['姨姨父','从母姨父','从母姨丈'],
'm,m,xs,d,s&o':['再从母兄'],
'm,m,xs,d,s&o,w':['再从母嫂'],
@@ -1277,13 +1277,13 @@
// 从母
'm,os':['大姨','大姨妈'],
'm,os,h':['大姨父','大姨丈'],
'm,ls':['小姨','小姨妈','姨仔'],
'm,ls':['小姨','小姨妈'],
'm,ls,h':['小姨父','小姨丈'],
'm,xs':['姨妈','姨母','姨姨','姨娘','阿姨','姨','x姨','x姨妈'],
'm,xs,h':['姨丈','姨父','姨爸','姨爹','姨婿','姨郎','x姨丈','x姨父'],
'm,xs,h,f':['姨姻祖父','姨姻王父','姨姻爷爷','姻爷爷'],
'm,xs,h,m':['姨姻祖母','姨姻王父','姨姻奶奶','姻奶奶'],
'm,xs,h,ob':['姨姻伯父','姻伯父','姻世伯'],
'm,xs,h,ob':['姨姻伯父','姻伯父'],
'm,xs,h,ob,w':['姨姻伯母','姻伯母'],
'm,xs,h,lb':['姨姻叔父','姻叔父'],
'm,xs,h,lb,w':['姨姻叔母','姻叔母'],
@@ -1500,7 +1500,7 @@
'h,xb,d,d,h':['叔侄外孙婿'],
'h,os':['大姑子','大姑','大娘姑','大姑姐','夫姐'],
'h,os,h':['大姑夫','姊丈','大姑姐夫'],
'h,ls':['小姑子','小姑','小姑妹','姑仔','夫妹'],
'h,ls':['小姑子','小姑','小姑妹','夫妹'],
'h,ls,h':['小姑夫','小亘子','小姑妹夫'],
'h,xs,s':['姑甥男','姑男','婆家甥男'],
'h,xs,s,w':['姑甥妇','姑妇'],
@@ -1637,9 +1637,9 @@
'w,xs,d,d':['内甥外孙女','姨甥外孙女'],
'w,xs,d,d,h':['内甥外孙婿','姨甥外孙婿'],
// 兄弟
'ob':['哥哥','哥','兄','阿哥','大佬','老哥','兄长','胞哥','大哥','x哥'],
'ob,w':['嫂子','嫂','嫂嫂','阿嫂','兄嫂','大嫂','x嫂'],
'lb':['弟弟','弟','细佬','胞弟','老弟','x弟'],
'ob':['哥哥','哥','兄','老哥','兄长','胞哥','大哥','x哥'],
'ob,w':['嫂子','嫂','嫂嫂','兄嫂','大嫂','x嫂'],
'lb':['弟弟','弟','胞弟','老弟','x弟'],
'lb,w':['弟妹','弟媳','弟媳妇','弟妇','x弟妹'],
'xb':['兄弟'],
'xb,w,f':['兄弟眷父'],
@@ -1795,7 +1795,7 @@
'xb,d,d,d,s':['侄外曾外曾外孙'],
'xb,d,d,d,d':['侄外曾外曾外孙女'],
// 姐妹
'os':['姐姐','姐','家姐','阿姐','阿姊','胞姐','大姐','x姐'],
'os':['姐姐','姐','阿姊','胞姐','大姐','x姐'],
'os,h':['姐夫','姊夫','姊丈','姊婿','大姐夫','x姐夫'],
'ls':['妹妹','妹','胞妹','老妹','x妹'],
'ls,h':['妹夫','妹丈','妹婿','x妹夫'],
@@ -1953,9 +1953,9 @@
'xs,d,d,d,s':['甥外曾外曾外孙'],
'xs,d,d,d,d':['甥外曾外曾外孙女'],
//自家
's':['儿子','男儿','儿','仔','阿仔','仔仔','x儿子'],
's':['儿子','男儿','儿','x儿子'],
's,w':['儿媳','儿媳妇','新妇'],
's,s':['孙子','孙男','孙儿','x孙子','孙'],
's,s':['孙子','孙男','孙儿','x孙子'],
's,s,w':['孙媳妇','孙媳','孙妇'],
's,s,w,f':['孙眷男'],
's,s,w,m':['孙眷女'],
@@ -2034,7 +2034,7 @@
's,d,d,s,w':['曾外曾外孙媳妇'],
's,d,d,d':['曾外曾外孙女'],
's,d,d,d,h':['曾外曾外孙女婿'],
'd':['女儿','千金','闺女','女','阿女','女女','掌上明珠','乖囡','囡囡','姑娘','x女儿'],
'd':['女儿','千金','闺女','掌上明珠','乖囡','囡囡','姑娘','x女儿'],
'd,h':['女婿','姑爷','女婿子','女婿儿','儿婿'],
'd,s':['外孙'],
'd,s,w':['外孙媳妇','外孙妇'],
@@ -2192,6 +2192,90 @@
'd,h,xs,d':['女姻外孙女','息姻外孙女'],
'd,h,xs,d,h':['女姻外孙婿','息姻外孙婿'],
};
var _language = {};
_language['cantonese'] = {
'f':['阿爸','老窦'],
'f,f':['阿爷','吖爷'],
'f,f,f':['太公'],
'f,f,m':['太婆'],
'f,m':['阿嫲','阿嬷','吖麻'],
'f,m,f':['太外公'],
'f,m,m':['太外婆'],
'f,ob':['大伯'],
'f,ob,w':['伯娘'],
'f,lb':['阿叔'],
'f,lb,w':['阿婶'],
'0,f,xb,d,s':['堂姨甥'],
'1,f,xb,d,s':['堂外甥'],
'0,f,xb,d,d':['堂姨甥女'],
'1,f,xb,d,d':['堂外甥女'],
'f,os':['姑妈'],
'f,ls':['姑姐','姑仔'],
'f,xs,h':['姑丈'],
'0,f,xs,d,s':['姑表姨甥'],
'1,f,xs,d,s':['姑表外甥'],
'0,f,xs,d,d':['姑表姨甥女'],
'1,f,xs,d,d':['姑表外甥女'],
'm':['阿妈','老母'],
'm,f':['阿公'],
'm,f,f':['外太公'],
'm,f,m':['外太婆'],
'm,m':['阿婆'],
'm,m,f':['外太外公'],
'm,m,m':['外太外婆'],
'm,ob':['舅父'],
'm,lb':['舅仔'],
'm,xb,w':['舅母'],
'0,m,xb,d,s':['舅表姨甥'],
'1,m,xb,d,s':['舅表外甥'],
'0,m,xb,d,d':['舅表姨甥女'],
'1,m,xb,d,d':['舅表外甥女'],
'm,os':['姨妈'],
'm,ls':['姨仔'],
'm,xs,h':['姨丈'],
'0,m,xb,d,s':['姨姨甥'],
'1,m,xb,d,s':['姨外甥'],
'0,m,xb,d,d':['姨姨甥女'],
'1,m,xb,d,d':['姨外甥女'],
'ob':['阿哥','大佬','吖哥'],
'ob,w':['阿嫂'],
'lb':['阿弟','细佬'],
'lb,w':['弟妇'],
'xb,s':['侄'],
'xb,d':['侄女'],
'os':['阿姐','家姐','吖姐'],
'os,w':['姐夫'],
'ls':['阿妹','细妹','吖妹'],
'ls,w':['妹夫'],
'0,xs,s':['姨甥'],
'1,xs,s':['外甥'],
'0,xs,d':['姨甥女'],
'1,xs,d':['外甥女'],
's':['仔','阿仔','仔仔'],
's,w':['新妇'],
's,s':['孙'],
's,s,w':['孙新妇'],
's,s,s':['息仔'],
's,s,d':['息女'],
's,d':['孙女'],
's,d,h':['孙女婿'],
's,d,s':['外息仔'],
's,d,d':['外息女'],
'd':['女','阿女','女女'],
'd,s':['外孙'],
'd,s,w':['外孙新妇'],
'd,s,s':['外息仔'],
'd,s,d':['外息女'],
'd,d':['外孙女'],
'd,d,h':['外孙女婿'],
'd,d,s':['外息仔'],
'd,d,d':['外息女'],
};
_language['northern'] = {
'm,f':['姥爷'],
'm,m':['姥姥'],
};
// 数组去重
var unique = function(arr) {
@@ -2233,6 +2317,7 @@
'女婿':'婿',
'媳':'妇',
'夫':'婿',
'姪':'侄',
'姊妹姻':'姻',
'女姻':'姻',
'兄弟眷':'眷',
@@ -2408,11 +2493,11 @@
}
var g = 0;
arr.forEach(function(r){
if(['f','m'].indexOf(r)>-1){
g++;
}else if(['s','d'].indexOf(r)>-1){
g--;
}
if(['f','m'].indexOf(r)>-1){
g++;
}else if(['s','d'].indexOf(r)>-1){
g--;
}
});
return arr.join(',')+(g?'':age);
}
@@ -2476,10 +2561,24 @@
text:'',
target:'',
sex:-1,
type:'default', //为'chain'时,reverse无效
reverse:false
type:'default', // 'chain'表示关系链
reverse:false, // true表示反向
language:'default', // 'cantonese'表示粤语地区
},parameter);
var sex = options.sex;
for(var lang in _language){
if(options.language==lang){
for(var key in _language[lang]){
_data[key] = _language[lang][key].concat(_data[key]||[]);
}
}else{
for(var key in _language[lang]){
if(_data[key]){
_data[key] = _data[key].concat(_language[lang][key]);
}
}
}
}
var from_selectors = getSelectors(options.text);
var to_selectors = options.target?getSelectors(options.target):[''];
// console.log('[selectors]',from_selectors,to_selectors);
@@ -2523,7 +2622,7 @@
});
return unique(result);
};
relationship({'text':'弟弟的表哥'});
// 数据量
relationship.dataCount = 0;
for(var i in _data){