From a234097b80b532ca1ee404a1e7a881382b348d07 Mon Sep 17 00:00:00 2001 From: PASSER-BY Date: Thu, 26 Aug 2021 21:55:05 +0800 Subject: [PATCH] =?UTF-8?q?updated=20=20=E5=AE=8C=E5=96=84=E5=A7=BB?= =?UTF-8?q?=E4=BA=B2=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/relationship.js | 436 ++++++++++++++++++++++++--------------- dist/relationship.min.js | 4 +- script/relationship.js | 436 ++++++++++++++++++++++++--------------- tests/test.js | 4 +- 4 files changed, 550 insertions(+), 330 deletions(-) diff --git a/dist/relationship.js b/dist/relationship.js index 61a3ea6..506f63c 100644 --- a/dist/relationship.js +++ b/dist/relationship.js @@ -606,7 +606,7 @@ 'f,xs,h,xb,w':['姻伯母'], 'f,xs,h,xs':['姻伯母'], 'f,xs,h,xs,h':['姻世伯'], - 'f,xs,s&o':['姑表哥','表哥','表兄'], + 'f,xs,s&o':['姑表哥','姑表兄','表哥','表兄'], 'f,xs,s&o,w':['姑表嫂','表嫂'], 'f,xs,s&l':['姑表弟','表弟'], 'f,xs,s&l,w':['姑表弟妇','表弟妇','表弟妹'], @@ -622,8 +622,8 @@ 'f,xs,s,d,s,w':['姑表侄孙妇'], 'f,xs,s,d,d':['姑表侄孙女'], 'f,xs,s,d,d,h':['姑表侄孙婿'], - 'f,xs,d&o':['姑表姐','表姐'], - 'f,xs,d&o,h':['姑表姐夫','表姐夫','表姐丈'], + 'f,xs,d&o':['姑表姐','姑表姊','表姐','表姊'], + 'f,xs,d&o,h':['姑表姐夫','姑表姊夫','表姐夫','表姊夫','表姐丈','表姊丈'], 'f,xs,d&l':['姑表妹','表妹'], 'f,xs,d&l,h':['姑表妹夫','表妹夫'], 'f,xs,d,s':['姑表甥男','表甥男','表外甥'], @@ -635,7 +635,7 @@ // 外家 'm':['妈妈','母亲','老妈','阿妈','老母','老妈子','妈','母','娘','娘亲','妈咪'], // 外公 - 'm,f':['外公','姥爷','外祖父','阿公'], + 'm,f':['外公','姥爷','外祖父','阿公','毑父'], 'm,f,f':['外曾祖父','外太祖父','外太公','外太爷爷','太外祖父'], 'm,f,f,f':['外高祖父','祖太爷','祖太爷爷','祖太公'], 'm,f,f,m':['外高祖母','祖太太','祖太奶奶','祖太婆'], @@ -793,7 +793,7 @@ 'm,f,xs,d,d,d':['姑表姨表甥女'], 'm,f,xs,d,d,d,h':['姑表姨表甥婿'], // 外婆 - 'm,m':['外婆','外祖母','姥姥','阿婆'], + 'm,m':['外婆','外祖母','姥姥','阿婆','毑母'], 'm,m,f':['外曾外祖父','外太外公','外太姥爷'], 'm,m,f,f':['外曾外曾祖父','祖太爷','祖太爷爷','祖太公'], 'm,m,f,m':['外曾外曾祖母','祖太太','祖太奶奶','祖太婆'], @@ -949,7 +949,7 @@ 'm,xb,w,xb,w':['姻伯母'], 'm,xb,w,xs':['姻伯母'], 'm,xb,w,xs,h':['姻世伯'], - 'm,xb,s&o':['舅表哥','表哥','表兄'], + 'm,xb,s&o':['舅表哥','舅表兄','表哥','表兄'], 'm,xb,s&o,w':['舅表嫂','表嫂'], 'm,xb,s&l':['舅表弟','表弟'], 'm,xb,s&l,w':['舅表弟媳','表弟媳','表弟妹'], @@ -965,8 +965,8 @@ 'm,xb,s,d,s,w':['舅表侄孙妇'], 'm,xb,s,d,d':['舅表侄孙女'], 'm,xb,s,d,d,h':['舅表侄孙婿'], - 'm,xb,d&o':['舅表姐','表姐'], - 'm,xb,d&o,h':['舅表姐夫','表姐夫','表姐丈'], + 'm,xb,d&o':['舅表姐','舅表姊','表姐','表姊'], + 'm,xb,d&o,h':['舅表姐夫','舅表姊夫','表姐夫','表姐姊','表姐丈','表姊丈'], 'm,xb,d&l':['舅表妹','表妹'], 'm,xb,d&l,h':['舅表妹夫','表妹夫'], 'm,xb,d,s':['舅表甥男','表外甥','表甥男'], @@ -1011,7 +1011,7 @@ // 婆家 'h':['老公','丈夫','先生','官人','男人','汉子','夫','夫君','相公','夫婿','爱人','老伴'], 'h,f':['公公','翁亲','老公公'], - 'h,f,f':['祖翁'], + 'h,f,f':['祖翁','奶公父'], 'h,f,f,ob':['伯祖翁'], 'h,f,f,ob,w':['伯祖婆'], 'h,f,f,lb':['叔祖翁'], @@ -1022,29 +1022,29 @@ 'h,f,f,f,lb':['太叔翁'], 'h,f,f,f,lb,w':['太婶婆'], 'h,f,f,m':['太奶亲'], - 'h,f,m':['祖婆'], - 'h,f,ob':['伯翁'], - 'h,f,ob,w':['伯婆'], - 'h,f,lb':['叔公','叔翁','叔祖'], - 'h,f,lb,w':['叔婆','婶婆','婶亲'], - 'h,f,xb,s&o':['堂大伯','堂兄','堂大伯哥'], - 'h,f,xb,s&o,w':['堂嫂','堂大伯嫂'], - 'h,f,xb,s&l':['堂叔仔','堂弟','堂小叔弟'], - 'h,f,xb,s&l,w':['堂小弟','堂弟妇','堂小叔弟妇'], - 'h,f,xb,s,s':['堂夫侄男'], - 'h,f,xb,s,d':['堂夫侄女'], - 'h,f,xb,d&o':['堂大姑姐'], - 'h,f,xb,d&o,h':['堂大姑姐夫'], - 'h,f,xb,d&l':['堂小姑妹'], - 'h,f,xb,d&l,h':['堂小姑妹夫'], - 'h,f,xb,d,s':['堂夫甥男'], - 'h,f,xb,d,d':['堂夫甥女'], - 'h,f,xs':['姑婆'], - 'h,f,xs,h':['姑公'], + 'h,f,m':['祖婆','奶婆母'], + 'h,f,ob':['伯公父','伯翁'], + 'h,f,ob,w':['伯婆母','伯婆'], + 'h,f,lb':['叔公父','叔公','叔翁','叔祖'], + 'h,f,lb,w':['叔婆母','叔婆','婶婆','婶亲'], + 'h,f,xb,s&o':['堂大伯子','从父大伯子','堂大伯','从父大伯'], + 'h,f,xb,s&o,w':['堂大伯嫂','从父大伯嫂','堂大姆','从父大姆'], + 'h,f,xb,s&l':['堂小叔弟','从父小叔弟','堂叔仔','从父叔仔'], + 'h,f,xb,s&l,w':['堂小叔弟妇','从父小叔弟妇','堂小弟','从父小弟'], + 'h,f,xb,s,s':['堂夫侄男','从父夫侄男'], + 'h,f,xb,s,d':['堂夫侄女','从父夫侄女'], + 'h,f,xb,d&o':['堂大姑姐','从父大姑姐'], + 'h,f,xb,d&o,h':['堂大姑姐夫','从父大姑姐夫'], + 'h,f,xb,d&l':['堂小姑妹','从父小姑妹'], + 'h,f,xb,d&l,h':['堂小姑妹夫','从父小姑妹夫'], + 'h,f,xb,d,s':['堂夫甥男','从父夫甥男'], + 'h,f,xb,d,d':['堂夫甥女','从父夫甥女'], + 'h,f,xs':['姑婆母','姑婆'], + 'h,f,xs,h':['姑公父','姑公'], 'h,f,xs,s&o':['姑表大伯子','表大伯'], 'h,f,xs,s&o,w':['姑表大伯嫂','表大姆'], 'h,f,xs,s&l':['姑表小叔弟','表叔仔'], - 'h,f,xs,s&l,w':['姑表小叔弟妇'], + 'h,f,xs,s&l,w':['姑表小叔弟妇','表小弟'], 'h,f,xs,s,s':['姑表夫侄男'], 'h,f,xs,s,d':['姑表夫侄女'], 'h,f,xs,d&o':['姑表大姑姐','表大姑'], @@ -1054,12 +1054,14 @@ 'h,f,xs,d,s':['姑表夫甥男'], 'h,f,xs,d,d':['姑表夫甥女'], 'h,m':['婆婆','婆母','姑亲','老婆婆'], - 'h,m,xb':['舅公'], - 'h,m,xb,w':['舅婆'], + 'h,m,f':['姥公父'], + 'h,m,m':['姥婆母'], + 'h,m,xb':['舅公父','舅公'], + 'h,m,xb,w':['舅婆母','舅婆'], 'h,m,xb,s&o':['舅表大伯子','表大伯'], 'h,m,xb,s&o,w':['舅表大伯嫂','表大姆'], 'h,m,xb,s&l':['舅表小叔弟','表叔仔'], - 'h,m,xb,s&l,w':['舅表小叔弟妇'], + 'h,m,xb,s&l,w':['舅表小叔弟妇','表小弟'], 'h,m,xb,s,s':['舅表夫侄男'], 'h,m,xb,s,d':['舅表夫侄女'], 'h,m,xb,d&o':['舅表大姑姐','表大姑'], @@ -1068,34 +1070,56 @@ 'h,m,xb,d&l,h':['舅表小姑妹夫'], 'h,m,xb,d,s':['舅表夫甥男'], 'h,m,xb,d,d':['舅表夫甥女'], - 'h,m,xs':['姨婆'], - 'h,m,xs,h':['姨公'], - 'h,m,xs,s&o':['姨表大伯子','表大伯'], - 'h,m,xs,s&o,w':['姨表大伯嫂','表大姆'], - 'h,m,xs,s&l':['姨表小叔弟','表叔仔'], - 'h,m,xs,s&l,w':['姨表小叔弟妇'], - 'h,m,xs,s,s':['姨表夫侄男'], - 'h,m,xs,s,d':['姨表夫侄女'], - 'h,m,xs,d&o':['姨表大姑姐','表大姑'], - 'h,m,xs,d&o,h':['姨表大姑姐夫'], - 'h,m,xs,d&l':['姨表小姑妹','表姑仔'], - 'h,m,xs,d&l,h':['姨表小姑妹夫'], - 'h,m,xs,d,s':['姨表夫甥男'], - 'h,m,xs,d,d':['姨表夫甥女'], + 'h,m,xs':['姨婆母','姨婆'], + 'h,m,xs,h':['姨公父','姨公'], + 'h,m,xs,s&o':['姨大伯子','从母大伯子','姨大伯','从母大伯'], + 'h,m,xs,s&o,w':['姨大伯嫂','从母大伯嫂','姨大姆','从母大姆'], + 'h,m,xs,s&l':['姨小叔弟','从母小叔弟','姨叔仔','从母叔仔'], + 'h,m,xs,s&l,w':['姨小叔弟妇','从母小叔弟妇','姨小弟','从母小弟'], + 'h,m,xs,s,s':['姨夫侄男','从母夫侄男'], + 'h,m,xs,s,d':['姨夫侄女','从母夫侄女'], + 'h,m,xs,d&o':['姨大姑姐','从母大姑姐'], + 'h,m,xs,d&o,h':['姨大姑姐夫','从母大姑姐夫'], + 'h,m,xs,d&l':['姨小姑妹','从母小姑妹'], + 'h,m,xs,d&l,h':['姨小姑妹夫','从母小姑妹夫'], + 'h,m,xs,d,s':['姨夫甥男','从母夫甥男'], + 'h,m,xs,d,d':['姨夫甥女','从母夫甥女'], 'h,ob':['大伯子','大伯哥','大伯兄','夫兄'], 'h,ob,w':['大婶子','大伯嫂','大伯妇','伯娘','大伯娘','大嫂','夫兄嫂','妯娌'], 'h,lb':['小叔子','小叔弟'], 'h,lb,w':['小婶子','小叔妇','小叔媳妇','小叔弟妇','妯娌'], - 'h,xb,s':['叔侄','婆家侄'], + 'h,xb,s':['叔侄男','叔伯男','从男','婆家侄男'], + 'h,xb,s,w':['叔侄妇'], + 'h,xb,s,s':['叔侄孙男'], + 'h,xb,s,s,w':['叔侄孙妇'], + 'h,xb,s,d':['叔侄孙女'], + 'h,xb,s,d,h':['叔侄孙婿'], + 'h,xb,d':['叔侄女','叔伯女','从女','婆家侄女'], + 'h,xb,d,h':['叔侄婿'], + 'h,xb,d,s':['叔侄外孙男'], + 'h,xb,d,s,w':['叔侄外孙妇'], + 'h,xb,d,d':['叔侄外孙女'], + 'h,xb,d,d,h':['叔侄外孙婿'], 'h,os':['大姑子','大姑','大娘姑','大姑姊','夫姐'], 'h,os,h':['大姑夫','姊丈','大姑姐夫','大姑姊夫'], 'h,ls':['小姑子','小姑','小姑妹','姑仔','夫妹'], 'h,ls,h':['小姑夫','小亘子','小姑妹夫'], - 'h,xs,s':['姑甥','婆家甥'], + 'h,xs,s':['姑甥男','姑男','婆家甥男'], + 'h,xs,s,w':['姑甥妇'], + 'h,xs,s,s':['姑甥孙男'], + 'h,xs,s,s,w':['姑甥孙妇'], + 'h,xs,s,d':['姑甥孙女'], + 'h,xs,s,d,h':['姑甥孙婿'], + 'h,xs,d':['姑甥女','姑女','婆家甥女'], + 'h,xs,d,h':['姑甥婿'], + 'h,xs,d,s':['姑甥外孙男'], + 'h,xs,d,s,w':['姑甥外孙妇'], + 'h,xs,d,d':['姑甥外孙女'], + 'h,xs,d,d,h':['姑甥外孙婿'], // 岳家 'w':['老婆','妻子','太太','媳妇儿','媳妇','夫人','女人','婆娘','妻','内人','娘子','爱人','老伴'], 'w,f':['岳父','岳丈','老丈人','丈人','泰山','妻父'], - 'w,f,f':['太岳父','祖岳父'], + 'w,f,f':['太岳父','祖岳父','奶岳父'], 'w,f,f,f,xb,s,s&o':['姻伯丈'], 'w,f,f,f,xb,s,s&o,w':['姻伯丈'], 'w,f,f,f,xb,s,s&l':['姻叔丈'], @@ -1110,96 +1134,136 @@ 'w,f,f,xb,s&l,w':['姻婶'], 'w,f,f,xs':['太姑岳母'], 'w,f,f,xs,h':['太姑岳父'], - 'w,f,m':['太岳母','祖岳母'], + 'w,f,m':['太岳母','祖岳母','奶岳母'], 'w,f,m,xb':['太舅岳父'], 'w,f,m,xb,w':['太舅岳母'], 'w,f,m,xs':['太姨岳母'], 'w,f,m,xs,h':['太姨岳父'], - 'w,f,xb,s&o':['堂大舅','姻家兄'], - 'w,f,xb,s&l':['堂舅仔','姻家弟'], - 'w,f,xb,d&o':['堂大姨'], - 'w,f,xb,d&l':['堂姨仔'], + 'w,f,xb,s&o':['堂大舅兄','从父大舅兄','堂大舅','堂内兄'], + 'w,f,xb,s&o,w':['堂内嫂','从父内嫂'], + 'w,f,xb,s&l':['堂小舅弟','从父小舅弟','堂舅仔','堂内弟'], + 'w,f,xb,s&l,w':['堂内弟妇','从父内弟妇'], + 'w,f,xb,d&o':['堂大姨姊','从父大姨姊','堂大姨','堂内姐'], + 'w,f,xb,d&o,h':['堂父襟兄','从父襟兄'], + 'w,f,xb,d&l':['堂小姨妹','从父小姨妹','堂姨仔','堂内妹'], + 'w,f,xb,d&l,h':['堂襟弟','从父襟弟'], 'w,f,ob':['伯岳','伯岳父'], 'w,f,ob,w':['伯岳母'], 'w,f,lb':['叔岳','叔岳父'], 'w,f,lb,w':['叔岳母'], 'w,f,xs':['姑岳母'], 'w,f,xs,h':['姑岳父'], - 'w,f,xs,s&o':['表大舅','表内兄'], - 'w,f,xs,s&o,w':['表内嫂'], - 'w,f,xs,s&l':['表舅仔','表内弟'], - 'w,f,xs,s&l,w':['表内弟妇'], - 'w,f,xs,d&o':['表大姨','表内姐'], - 'w,f,xs,d&o,h':['表襟兄'], - 'w,f,xs,d&l':['表姨仔','表内妹'], - 'w,f,xs,d&l,w':['表襟弟'], + 'w,f,xs,s&o':['姑表大舅兄','表大舅','表内兄'], + 'w,f,xs,s&o,w':['姑表内嫂','表内嫂'], + 'w,f,xs,s&l':['姑表小舅弟','表舅仔','表内弟'], + 'w,f,xs,s&l,w':['姑表内弟妇','表内弟妇'], + 'w,f,xs,d&o':['姑表大姨姊','表大姨','表内姐'], + 'w,f,xs,d&o,h':['姑表襟兄','表襟兄'], + 'w,f,xs,d&l':['姑表小姨妹','表姨仔','表内妹'], + 'w,f,xs,d&l,h':['姑表襟弟','表襟弟'], 'w,m':['岳母','丈母娘','丈母','泰水'], - 'w,m,f':['外太岳父'], - 'w,m,m':['外太岳母'], + 'w,m,f':['外太岳父','姥岳父'], + 'w,m,m':['外太岳母','姥岳母'], 'w,m,xb':['舅岳父'], 'w,m,xb,w':['舅岳母'], - 'w,m,xb,s&o':['表大舅'], - 'w,m,xb,s&l':['表舅仔'], - 'w,m,xb,d&o':['表大姨'], - 'w,m,xb,d&l':['表姨仔'], + 'w,m,xb,s&o':['舅表大舅兄','表大舅','表内兄'], + 'w,m,xb,s&o,w':['舅表内嫂','表内嫂'], + 'w,m,xb,s&l':['舅表小舅弟','表舅仔','表内弟'], + 'w,m,xb,s&l,w':['舅表内弟妇','表内弟妇'], + 'w,m,xb,d&o':['舅表大姨姊','表大姨','表内姐'], + 'w,m,xb,d&o,h':['舅表襟兄','表襟兄'], + 'w,m,xb,d&l':['舅表小姨妹','表姨仔','表内妹'], + 'w,m,xb,d&l,h':['舅表襟弟','表襟弟'], 'w,m,xs':['姨岳母'], 'w,m,xs,h':['姨岳父'], - 'w,m,xs,s&o':['表大舅'], - 'w,m,xs,s&l':['表舅仔'], - 'w,m,xs,d&o':['表大姨'], - 'w,m,xs,d&l':['表姨仔'], - 'w,xb,s':['内侄','内侄男','妻侄男','舅侄男','岳侄男','丈人侄男'], - 'w,xb,s,w':['内侄妇','内侄媳妇','妻侄妇','舅侄妇','岳侄妇','丈人侄妇'], - 'w,xb,s,s':['内侄孙'], - 'w,xb,s,s,w':['内侄孙妇'], - 'w,xb,s,d':['内侄孙女'], - 'w,xb,s,d,h':['内侄孙婿'], - 'w,xb,d':['内侄女','妻侄女','舅侄女','岳侄女','丈人侄女'], - 'w,xb,d,h':['内侄婿','妻侄婿','舅侄婿','岳侄婿','丈人侄婿'], - 'w,xb,d,s':['外侄孙'], - 'w,xb,d,s,w':['外侄孙妇'], - 'w,xb,d,d':['外侄孙女'], - 'w,xb,d,d,h':['外侄孙婿'], + 'w,m,xs,s&o':['姨母大舅兄','从母大舅兄','姨大舅','姨内兄'], + 'w,m,xs,s&o,w':['姨母内嫂','从母内嫂'], + 'w,m,xs,s&l':['姨小舅弟','从母小舅弟','姨舅仔','姨内弟'], + 'w,m,xs,s&l,w':['姨内弟妇','从母内弟妇'], + 'w,m,xs,d&o':['姨大姨姊','从母大姨姊','姨大姨','姨内姐'], + 'w,m,xs,d&o,h':['姨襟兄','从母襟兄'], + 'w,m,xs,d&l':['姨小姨妹','从母小姨妹','姨姨仔','姨内妹'], + 'w,m,xs,d&l,h':['姨襟弟','从母襟弟'], 'w,ob':['大舅子','大舅哥','大舅兄','内兄','妻兄','妻舅','舅兄'], 'w,ob,w':['舅嫂','大舅妇','大舅嫂','大舅媳妇','大妗子','内嫂','妻兄嫂'], 'w,lb':['小舅子','小舅弟','内弟','妻弟','妻舅','舅弟'], 'w,lb,w':['舅弟媳','小舅妇','小舅弟妇','小舅媳妇','小妗子','妻妹夫'], - 'w,xs,s':['内甥男','内甥','妻甥男','姨甥男','岳甥男','丈人甥男'], + 'w,xb,s':['内侄男','内侄','妻侄男','舅侄男','岳侄男','丈人侄男','舅男'], + 'w,xb,s,w':['内侄妇','内侄媳妇','妻侄妇','舅侄妇','岳侄妇','丈人侄妇'], + 'w,xb,s,s':['内侄孙男','妻侄孙男'], + 'w,xb,s,s,w':['内侄孙妇','妻侄孙妇'], + 'w,xb,s,d':['内侄孙女','妻侄孙女'], + 'w,xb,s,d,h':['内侄孙婿','妻侄孙婿'], + 'w,xb,d':['内侄女','内侄','妻侄女','舅侄女','岳侄女','丈人侄女','舅女'], + 'w,xb,d,h':['内侄婿','妻侄婿','舅侄婿','岳侄婿','丈人侄婿'], + 'w,xb,d,s':['内侄外孙男','姨侄外孙男'], + 'w,xb,d,s,w':['内侄外孙妇','姨侄外孙妇'], + 'w,xb,d,d':['内侄外孙女','姨侄外孙女'], + 'w,xb,d,d,h':['内侄外孙婿','姨侄外孙婿'], + 'w,os':['大姨子','大姨姐','大姨姊','妻姐'], + 'w,os,h':['大姨夫','大姨姐夫','大姨姊夫','襟兄','连襟','连桥','姨夫'], + 'w,ls':['小姨子','小姨妹','妻妹','小妹儿'], + 'w,ls,h':['小姨夫','小姨妹夫','襟弟','连襟','连桥','姨夫'], + 'w,xs,s':['内甥男','内甥','妻甥男','姨甥男','岳甥男','丈人甥男','姨男','从男'], 'w,xs,s,w':['内甥妇','姨甥妇','姨甥妇','岳甥妇','丈人甥妇'], 'w,xs,s,s':['内甥孙男','姨甥孙男'], 'w,xs,s,s,w':['内甥孙妇','姨甥孙妇'], 'w,xs,s,d':['内甥孙女','姨甥孙女'], 'w,xs,s,d,h':['内甥孙婿','姨甥孙婿'], - 'w,xs,d':['内甥女','姨甥女','妻外甥女','丈人甥女'], + 'w,xs,d':['内甥女','内甥','姨甥女','妻外甥女','丈人甥女','姨女','从女'], 'w,xs,d,h':['内甥婿','姨甥婿','妻甥婿','岳甥婿','丈人甥婿'], - 'w,xs,d,s':['内甥外孙','姨甥外孙'], - 'w,xs,d,s,w':['内甥孙妇','姨甥孙妇'], - 'w,xs,d,d':['内甥孙女','姨甥孙女'], - 'w,xs,d,d,h':['内甥孙婿','姨甥孙婿'], - 'w,os':['大姨子','大姨姐','大姨姊','妻姐'], - 'w,os,h':['大姨夫','大姨姐夫','大姨姊夫','襟兄','连襟','姨夫'], - 'w,ls':['小姨子','小姨妹','妻妹','小妹儿'], - 'w,ls,h':['小姨夫','小姨妹夫','襟弟','连襟','姨夫'], + 'w,xs,d,s':['内甥外孙男','姨甥外孙男'], + 'w,xs,d,s,w':['内甥外孙妇','姨甥外孙妇'], + 'w,xs,d,d':['内甥外孙女','姨甥外孙女'], + 'w,xs,d,d,h':['内甥外孙婿','姨甥外孙婿'], // 兄弟 'ob':['哥哥','哥','兄','阿哥','大佬','老哥','兄长','胞哥','大哥','x哥'], 'ob,w':['嫂子','嫂','嫂嫂','阿嫂','兄嫂','大嫂','x嫂'], - 'ob,w,f':['姻伯父'], - 'ob,w,m':['姻伯母'], + 'ob,w,f':['兄眷父'], + 'ob,w,m':['兄眷母'], + 'ob,w,ob':['兄眷兄'], + 'ob,w,ob,w':['兄眷兄妇'], + 'ob,w,lb':['兄眷弟'], + 'ob,w,lb,w':['兄眷弟妇'], + 'ob,w,xb,s':['兄眷甥男'], + 'ob,w,xb,d':['兄眷甥女'], + 'ob,w,os':['兄眷姊'], + 'ob,w,os,h':['兄眷姊婿'], + 'ob,w,ls':['兄眷妹'], + 'ob,w,ls,h':['兄眷姊婿'], + 'ob,w,xs,s':['兄眷侄男'], + 'ob,w,xs,d':['兄眷侄女'], 'lb':['弟弟','弟','细佬','胞弟','老弟','x弟'], 'lb,w':['弟妹','弟媳','弟媳妇','弟妇','x弟妹'], - 'lb,w,f':['姻叔父'], - 'lb,w,m':['姻叔母'], + 'lb,w,f':['弟眷父'], + 'lb,w,m':['弟眷母'], + 'lb,w,ob':['弟眷兄'], + 'lb,w,ob,w':['弟眷兄妇'], + 'lb,w,lb':['弟眷弟'], + 'lb,w,lb,w':['弟眷弟妇'], + 'lb,w,xb,s':['弟眷甥男'], + 'lb,w,xb,d':['弟眷甥女'], + 'lb,w,os':['弟眷姊'], + 'lb,w,os,h':['弟眷姊婿'], + 'lb,w,ls':['弟眷妹'], + 'lb,w,ls,h':['弟眷姊婿'], + 'lb,w,xs,s':['弟眷侄男'], + 'lb,w,xs,d':['弟眷侄女'], 'xb':['兄弟'], - 'xb,w,f':['姻世伯','亲家爷','亲爹','亲伯'], - 'xb,w,f,f':['姻伯祖/姻叔祖'], - 'xb,w,m':['姻伯母','亲家娘','亲娘'], - 'xb,w,ob':['姻兄'], - 'xb,w,lb':['姻弟'], - 'xb,w,os':['姻姐'], - 'xb,w,ls':['姻妹'], + 'xb,w,f':['姻世伯'], + 'xb,w,f,f':['姻伯祖'], + 'xb,w,m':['姻伯母'], + '0,xb,w,xb,s':['舅眷舅男'], + '1,xb,w,xb,s':['叔眷舅男'], + '0,xb,w,xb,d':['舅眷舅女'], + '1,xb,w,xb,d':['叔眷舅女'], + '0,xb,w,xs,s':['舅眷姨男'], + '1,xb,w,xs,s':['叔眷姨男'], + '0,xb,w,xs,d':['舅眷姨女'], + '1,xb,w,xs,d':['叔眷姨女'], 'xb,s':['侄子','侄男','侄男儿','侄儿','阿侄'], 'xb,s,w':['侄妇','侄媳妇'], - 'xb,s,s':['侄孙','侄孙子'], + 'xb,s,s':['侄孙男','侄孙子'], 'xb,s,s,w':['侄孙妇'], 'xb,s,s,s':['侄曾孙'], 'xb,s,s,s,w':['侄曾孙妇'], @@ -1244,19 +1308,48 @@ // 姐妹 'os':['姐姐','姐','家姐','阿姐','阿姊','胞姐','大姐','x姐'], 'os,h':['姐夫','姊夫','姊丈','姊婿','大姐夫','x姐夫'], + 'os,h,f':['姊姻父'], + 'os,h,m':['姊姻母'], + 'os,h,ob':['姊姻兄'], + 'os,h,ob,w':['姊姻兄妇'], + 'os,h,lb':['姊姻弟'], + 'os,h,lb,w':['姊姻弟妇'], + 'os,h,xb,s':['姊姻甥男'], + 'os,h,xb,d':['姊姻甥女'], + 'os,h,os':['姊姻姊'], + 'os,h,os,h':['姊姻姊婿'], + 'os,h,ls':['姊姻妹'], + 'os,h,ls,h':['姊姻妹婿'], + 'os,h,xs,s':['姊姻侄男'], + 'os,h,xs,d':['姊姻侄女'], 'ls':['妹妹','妹','胞妹','老妹','x妹'], 'ls,h':['妹夫','妹丈','妹婿','x妹夫'], + 'ls,h,f':['妹姻父'], + 'ls,h,m':['妹姻母'], + 'ls,h,ob':['妹姻兄'], + 'ls,h,ob,w':['妹姻兄妇'], + 'ls,h,lb':['妹姻弟'], + 'ls,h,lb,w':['妹姻弟妇'], + 'ls,h,xb,s':['妹姻甥男'], + 'ls,h,xb,d':['妹姻甥女'], + 'ls,h,os':['妹姻姊'], + 'ls,h,os,h':['妹姻姊婿'], + 'ls,h,ls':['妹姻妹'], + 'ls,h,ls,h':['妹姻妹婿'], + 'ls,h,xs,s':['妹姻侄男'], + 'ls,h,xs,d':['妹姻侄女'], 'xs':['姐妹','姊妹'], - 'xs,h,f':['姻世伯','亲家爷','亲爹','亲伯'], - 'xs,h,f,f':['姻伯祖/姻叔祖'], - 'xs,h,m':['姻伯母','亲家娘','亲娘'], - 'xs,h,ob':['姻兄'], - 'xs,h,lb':['姻弟'], - 'xs,h,os':['姻姐'], - 'xs,h,ls':['姻妹'], + '0,xs,h,xb,s':['姨姻叔男'], + '1,xs,h,xb,s':['姑姻叔男'], + '0,xs,h,xb,d':['姨姻叔女'], + '1,xs,h,xb,d':['姑姻叔女'], + '0,xs,h,xs,s':['姨姻姑男'], + '1,xs,h,xs,s':['姑姻姑男'], + '0,xs,h,xs,d':['姨姻姑女'], + '1,xs,h,xs,d':['姑姻姑女'], 'xs,s':['外甥','外甥男','甥男','甥儿','甥子','外甥儿','外甥子','外甥儿子'], 'xs,s,w':['甥妇','甥媳妇'], - 'xs,s,s':['甥孙'], + 'xs,s,s':['甥孙男'], 'xs,s,s,w':['甥孙妇'], 'xs,s,s,s':['甥曾孙'], 'xs,s,s,s,w':['甥曾孙妇'], @@ -1301,12 +1394,6 @@ //自家 's':['儿子','男儿','仔','阿仔','仔仔','x儿子','孩子','孩儿'], 's,w':['儿媳','儿媳妇','新妇'], - 's,w,xb':['姻侄男','姻侄'], - 's,w,xb,s':['姻侄孙男','姻侄孙'], - 's,w,xb,d':['姻侄孙女','姻侄孙'], - 's,w,xs':['姻侄女','姻侄'], - 's,w,xs,s':['姻侄孙男','姻侄孙'], - 's,w,xs,d':['姻侄孙女','姻侄孙'], 's,s':['孙子','孙男','孙儿','x孙子','孙'], 's,s,w':['孙媳','孙媳妇','孙妇'], 's,s,w,xb':['姻家再侄'], @@ -1343,14 +1430,6 @@ 's,d,d,d':['曾外曾外孙女'], 'd':['女儿','千金','闺女','女','阿女','女女','掌上明珠','乖囡','囡囡','姑娘','x女儿','孩子','孩儿'], 'd,h':['女婿','姑爷','女婿子','女婿儿','儿婿'], - 'd,h,xb':['姻侄男','姻侄'], - 'd,h,xb,w':['姻侄妇'], - 'd,h,xb,s':['姻侄孙男','姻侄孙'], - 'd,h,xb,d':['姻侄孙女','姻侄孙'], - 'd,h,xs':['姻侄女','姻侄'], - 'd,h,xs,w':['姻侄婿'], - 'd,h,xs,s':['姻侄孙男','姻侄孙'], - 'd,h,xs,d':['姻侄孙女','姻侄孙'], 'd,s':['外孙'], 'd,s,w':['外孙妇','外孙媳妇'], 'd,s,s':['外曾孙','重外孙'], @@ -1372,7 +1451,7 @@ 'd,d,d,s':['外曾外曾外孙'], 'd,d,d,d':['外曾外曾外孙女'], //亲家 - 's,w,f':['亲家公','亲家翁','姻翁','亲家'], + 's,w,f':['亲家公','亲家翁','姻翁','亲家','息眷兄','息眷弟'], 's,w,f,f':['太姻翁'], 's,w,f,f,f':['老太姻翁'], 's,w,f,f,m':['老太姻姆'], @@ -1386,14 +1465,22 @@ 's,w,f,m':['太姻姆'], 's,w,f,m,f':['老太姻翁'], 's,w,f,m,m':['老太姻姆'], - 's,w,f,ob':['姻兄','姻亲'], - 's,w,f,lb':['姻弟','姻亲'], - 's,w,f,os':['姻姐','姻亲'], - 's,w,f,ls':['姻妹','姻亲'], - 's,w,m':['亲家母','亲家姆','姻姆','亲家'], + 's,w,f,ob':['姻兄'], + 's,w,f,lb':['姻弟'], + 's,w,f,os':['姻姊'], + 's,w,f,ls':['姻妹'], + 's,w,m':['亲家母','亲家姆','姻姆','亲家','息眷姊','息眷妹'], 's,w,m,ob':['姻仁兄'], 's,w,m,lb':['姻仁弟'], - 'd,h,f':['亲家公','亲家翁','姻翁','亲家'], + 's,w,xb':['息眷男'], + 's,w,xb,w':['息眷妇'], + 's,w,xb,s':['息眷孙男'], + 's,w,xb,d':['息眷孙女'], + 's,w,xs':['息眷女'], + 's,w,xs,w':['息眷婿'], + 's,w,xs,s':['息眷孙男'], + 's,w,xs,d':['息眷孙女'], + 'd,h,f':['亲家公','亲家翁','姻翁','亲家','息姻兄','息姻弟'], 'd,h,f,f':['太姻翁'], 'd,h,f,f,f':['老太姻翁'], 'd,h,f,f,m':['老太姻姆'], @@ -1407,13 +1494,21 @@ 'd,h,f,f,xb,s&o':['姻家兄'], 'd,h,f,f,xb,s&l':['姻家弟'], 'd,h,f,f,xb,s,s':['姻侄'], - 'd,h,f,ob':['姻兄','姻亲'], - 'd,h,f,lb':['姻弟','姻亲'], - 'd,h,f,os':['姻姐','姻亲'], - 'd,h,f,ls':['姻妹','姻亲'], - 'd,h,m':['亲家母','亲家姆','姻姆','亲家'], + 'd,h,f,ob':['姻兄'], + 'd,h,f,lb':['姻弟'], + 'd,h,f,os':['姻姊'], + 'd,h,f,ls':['姻妹'], + 'd,h,m':['亲家母','亲家姆','姻姆','亲家','息姻姊','息姻妹'], 'd,h,m,ob':['姻仁兄'], 'd,h,m,lb':['姻仁弟'], + 'd,h,xb':['息姻男'], + 'd,h,xb,w':['息姻妇'], + 'd,h,xb,s':['息姻孙男'], + 'd,h,xb,d':['息姻孙女'], + 'd,h,xs':['息姻女'], + 'd,h,xs,w':['息姻婿'], + 'd,h,xs,s':['息姻孙男'], + 'd,h,xs,d':['息姻孙女'], //其他 't':['老师','师父','师'], 't,w':['师娘','师母'], @@ -1436,7 +1531,7 @@ return result; }; - //分词解析 + // 中文获取选择器 function getSelectors(str){ str = str.replace(/[二|三|四|五|六|七|八|九|十]{1,2}/g,'x'); var lists = str.replace(/我的?/,'').replace(/家的?/,'的').split('的'); @@ -1475,20 +1570,21 @@ return match?result:[]; } - //简化选择器 + // 简化选择器 function selector2id(selector,sex){ var result = []; var hash = {}; - if(sex<0){ //如果自己的性别不确定 + if(sex<0){ if(selector.indexOf(',w')==0){ - sex = 1; + selector = ',1'+selector; }else if(selector.indexOf(',h')==0){ - sex = 0; + selector = ',0'+selector; } - } - if(sex>-1){ + }else if(selector.indexOf(',1')==0||selector.indexOf(',0')==0){ + }else if(sex>-1){ selector = ','+sex+selector; } + // console.log('[selector]',selector); if(selector.match(/,[w0],w|,[h1],h/)){ //同志关系去除 return false; } @@ -1501,7 +1597,7 @@ s = selector; for(var i in _filter){ var item = _filter[i]; - // console.log('filter#',item['exp'],selector); + // console.log('[filter]',item['exp'],selector); selector = selector.replace(item['exp'],item['str']); if(selector.indexOf('#')>-1){ var arr = selector.split('#'); @@ -1529,29 +1625,40 @@ //获取数据 function getDataById(id){ var items = []; - var filter = /&[olx]/g; //忽略属性 var getData = function(d){ var res = []; for(var i in _data){ - if(i.replace(filter,'')==d){ + if(i.replace(/&[ol]/g,'')==d){ res.push(_data[i][0]); + }else{ + var expr = d; + while (expr.match(/[ol](b|s)/)){ + expr = expr.replace(/[ol](b|s)/,'x$1'); + if(expr==i){ + res.push(_data[i][0]); + break; + } + } } } return res; }; - if(_data[id]){ //直接匹配称呼 + if(_data[id]){ // 直接匹配称呼 items.push(_data[id][0]); }else{ items = getData(id); - if(!items.length){ //忽略年龄条件查找 + // 忽略年龄条件查找 + if(!items.length){ id = id.replace(/&[ol]/g,''); items = getData(id); } - if(!items.length){ //忽略年龄条件查找 - id = id.replace(/[ol]/g,'x'); + // 忽略年龄条件查找 + if(!items.length){ + id = id.replace(/[ol](b|s)/g,'x$1'); items = getData(id); } - if(!items.length){ //缩小访问查找 + // 缩小访问查找 + if(!items.length){ var l = id.replace(/x/g,'l'); items = getData(l); var o = id.replace(/x/g,'o'); @@ -1621,11 +1728,11 @@ options[p] = parameter[p]; } var selectors = getSelectors(options.text); - // console.log('selectors#',selectors); + // console.log('[selectors]',selectors); var result = []; //匹配结果 for(var i = 0;i-1&&(!l&&f.length||b.push(l),h=!0)}if(h||(m=!1),x.length){for(var e=[],l=0;l-1&&(s=","+f+s),s.match(/,[w0],w|,[h1],h/))return!1;var d=function(s){var f="";if(!m[s]){m[s]=!0;var w=!0;do{f=s;for(var h in b){var l=b[h];if(s=s.replace(l.exp,l.str),s.indexOf("#")>-1){for(var o=s.split("#"),e=0;e-1?m="&l":s.indexOf("&l")>-1&&(m="&o"),s){s=s.replace(/&[ol]/g,""),f=f?1:0;var d=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");d=d.substring(0,d.lastIndexOf(","));for(var b=s.split(",").reverse(),w=d.split(",").reverse(),h=[],l=0;l-1&&(!l&&f.length||b.push(l),h=!0)}if(h||(d=!1),x.length){for(var e=[],l=0;l-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 w=!0;do{f=s;for(var h in b){var l=b[h];if(s=s.replace(l.exp,l.str),s.indexOf("#")>-1){for(var o=s.split("#"),e=0;e-1?d="&l":s.indexOf("&l")>-1&&(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=[],l=0;l-1){ + }else if(selector.indexOf(',1')==0||selector.indexOf(',0')==0){ + }else if(sex>-1){ selector = ','+sex+selector; } + // console.log('[selector]',selector); if(selector.match(/,[w0],w|,[h1],h/)){ //同志关系去除 return false; } @@ -1501,7 +1597,7 @@ s = selector; for(var i in _filter){ var item = _filter[i]; - // console.log('filter#',item['exp'],selector); + // console.log('[filter]',item['exp'],selector); selector = selector.replace(item['exp'],item['str']); if(selector.indexOf('#')>-1){ var arr = selector.split('#'); @@ -1529,29 +1625,40 @@ //获取数据 function getDataById(id){ var items = []; - var filter = /&[olx]/g; //忽略属性 var getData = function(d){ var res = []; for(var i in _data){ - if(i.replace(filter,'')==d){ + if(i.replace(/&[ol]/g,'')==d){ res.push(_data[i][0]); + }else{ + var expr = d; + while (expr.match(/[ol](b|s)/)){ + expr = expr.replace(/[ol](b|s)/,'x$1'); + if(expr==i){ + res.push(_data[i][0]); + break; + } + } } } return res; }; - if(_data[id]){ //直接匹配称呼 + if(_data[id]){ // 直接匹配称呼 items.push(_data[id][0]); }else{ items = getData(id); - if(!items.length){ //忽略年龄条件查找 + // 忽略年龄条件查找 + if(!items.length){ id = id.replace(/&[ol]/g,''); items = getData(id); } - if(!items.length){ //忽略年龄条件查找 - id = id.replace(/[ol]/g,'x'); + // 忽略年龄条件查找 + if(!items.length){ + id = id.replace(/[ol](b|s)/g,'x$1'); items = getData(id); } - if(!items.length){ //缩小访问查找 + // 缩小访问查找 + if(!items.length){ var l = id.replace(/x/g,'l'); items = getData(l); var o = id.replace(/x/g,'o'); @@ -1621,11 +1728,11 @@ options[p] = parameter[p]; } var selectors = getSelectors(options.text); - // console.log('selectors#',selectors); + // console.log('[selectors]',selectors); var result = []; //匹配结果 for(var i = 0;i