updated 添加繁体支持
This commit is contained in:
1 parent
8c87a88d24
commit
14d9284601
9 files changed
+9385
-320
No files matched your search
Vendored
+1
-1
@@ -6,4 +6,4 @@
|
||||
* Released under the MIT License.
|
||||
* https://github.com/mumuy/relationship/blob/master/LICENSE
|
||||
*/
|
||||
!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"}],s={"":["自己","我","俺","本人","在下"],"[f,f|f,m|m,f],[f,m],f":["老太奶爷","祖太奶爷"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爷","祖太姥爷"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f,f|f,m|m,f],f":["太奶爷","祖奶爷"],"[f,f|f,m|m,f],f,ob":["伯太奶爷","太伯奶爷"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爷","太叔奶爷"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爷","太姑奶爷"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爷","太舅奶爷"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爷","太姨奶爷"],"[f,m|m,f|m,m],f":["太姥爷","祖姥爷","太毑爷"],"[f,m|m,f|m,m],f,ob":["伯太姥爷","伯叔姥爷"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爷","太叔姥爷"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爷","太姑姥爷"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑"],"[f,m|m,f|m,m],m,xb":["舅太姥爷","太舅姥爷"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爷","太姨姥爷"],"[f,m][f,m]":["祖辈"],"f,[f|m]":["祖父母","爷爷奶奶"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爷"],"[f|m]":["父母","爹娘","爹妈","爸妈","爸爸妈妈","父母亲","双亲","二亲","两亲","二老","高堂"],"f,[f,xs|m,xb],s&o":["舅姑爸","姑舅爸"],"f,[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"f,[f,xs|m,xb],s&l":["舅姑爸","姑舅爸"],"f,[f,xs|m,xb],s&l,w":["舅姑婶","姑舅婶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,[xs|xs,h]":["姑父母"],"m,[xb|xb,w]":["舅父母"],"m,[xs|xs,h]":["姨父母"],"w,[f|m]":["岳父母","岳父岳母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯岳父母"],"w,f,[lb|lb,w]":["叔岳父母"],"w,f,[xs|xs,h]":["姑岳父母"],"w,m,[xb|xb,w]":["舅岳父母"],"w,m,[xs|xs,h]":["姨岳父母"],"h,[f|m]":["公婆","翁姑","大家官","公公婆婆","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂"],"[f,xb|m,xs],[s|d]":["从兄弟姐妹","从姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表"],"[f,xb|m,xs],s":["从兄弟"],"[f,xb|m,xs],d":["从姐妹"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄Line truncated
|
||||
!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"}],s={"":["自己","我","俺","本人","在下"],"[f,f|f,m|m,f],[f,m],f":["老太奶爷","祖太奶爷"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爷","祖太姥爷"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f,f|f,m|m,f],f":["太奶爷","祖奶爷"],"[f,f|f,m|m,f],f,ob":["伯太奶爷","太伯奶爷"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爷","太叔奶爷"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爷","太姑奶爷"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爷","太舅奶爷"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爷","太姨奶爷"],"[f,m|m,f|m,m],f":["太姥爷","祖姥爷","太毑爷"],"[f,m|m,f|m,m],f,ob":["伯太姥爷","伯叔姥爷"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爷","太叔姥爷"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爷","太姑姥爷"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑"],"[f,m|m,f|m,m],m,xb":["舅太姥爷","太舅姥爷"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爷","太姨姥爷"],"[f,m][f,m]":["祖辈"],"f,[f|m]":["祖父母","爷爷奶奶"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爷"],"[f|m]":["父母","爹娘","爹妈","爸妈","爸爸妈妈","父母亲","双亲","二亲","两亲","二老","高堂"],"f,[f,xs|m,xb],s&o":["舅姑爸","姑舅爸"],"f,[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"f,[f,xs|m,xb],s&l":["舅姑爸","姑舅爸"],"f,[f,xs|m,xb],s&l,w":["舅姑婶","姑舅婶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,[xs|xs,h]":["姑父母"],"m,[xb|xb,w]":["舅父母"],"m,[xs|xs,h]":["姨父母"],"w,[f|m]":["岳父母","岳父岳母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯岳父母"],"w,f,[lb|lb,w]":["叔岳父母"],"w,f,[xs|xs,h]":["姑岳父母"],"w,m,[xb|xb,w]":["舅岳父母"],"w,m,[xs|xs,h]":["姨岳父母"],"h,[f|m]":["公婆","翁姑","大家官","公公婆婆","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂"],"[f,xb|m,xs],[s|d]":["从兄弟姐妹","从姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表"],"[f,xb|m,xs],s":["从兄弟"],"[f,xb|m,xs],d":["从姐妹"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄Line truncated
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
/*!
|
||||
* relationship - Chinese kinship library
|
||||
* https://passer-by.com/relationship/
|
||||
*
|
||||
* Copyright (c) 2016-present, HaoLe Zheng
|
||||
* Released under the MIT License.
|
||||
* https://github.com/mumuy/relationship/blob/master/LICENSE
|
||||
*/
|
||||
!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"}],s={"":["自己","我","俺","本人","在下"],"[f,f|f,m|m,f],[f,m],f":["老太奶爺","祖太奶爺"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爺","祖太姥爺"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f,f|f,m|m,f],f":["太奶爺","祖奶爺"],"[f,f|f,m|m,f],f,ob":["伯太奶爺","太伯奶爺"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爺","太叔奶爺"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爺","太姑奶爺"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爺","太舅奶爺"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爺","太姨奶爺"],"[f,m|m,f|m,m],f":["太姥爺","祖姥爺","太毑爺"],"[f,m|m,f|m,m],f,ob":["伯太姥爺","伯叔姥爺"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爺","太叔姥爺"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爺","太姑姥爺"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑"],"[f,m|m,f|m,m],m,xb":["舅太姥爺","太舅姥爺"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爺","太姨姥爺"],"[f,m][f,m]":["祖輩"],"f,[f|m]":["祖父母","爺爺奶奶"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爺"],"[f|m]":["父母","爹娘","爹媽","爸媽","爸爸媽媽","父母親","雙親","二親","兩親","二老","高堂"],"f,[f,xs|m,xb],s&o":["舅姑爸","姑舅爸"],"f,[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"f,[f,xs|m,xb],s&l":["舅姑爸","姑舅爸"],"f,[f,xs|m,xb],s&l,w":["舅姑嬸","姑舅嬸"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,[xs|xs,h]":["姑父母"],"m,[xb|xb,w]":["舅父母"],"m,[xs|xs,h]":["姨父母"],"w,[f|m]":["嶽父母","嶽父嶽母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯嶽父母"],"w,f,[lb|lb,w]":["叔嶽父母"],"w,f,[xs|xs,h]":["姑嶽父母"],"w,m,[xb|xb,w]":["舅嶽父母"],"w,m,[xs|xs,h]":["姨嶽父母"],"h,[f|m]":["公婆","翁姑","大家官","公公婆婆","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂"],"[f,xb|m,xs],[s|d]":["從兄弟姐妹","從姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表"],"[f,xb|m,xs],s":["從兄弟"],"[f,xb|m,xs],d":["從姐妹"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄Line truncated
|
||||
+21
-13
@@ -2,17 +2,25 @@ const fs = require('fs');
|
||||
const gulp = require('gulp');
|
||||
const uglify = require('gulp-uglify');
|
||||
const rename = require("gulp-rename");
|
||||
const cht = require('gulp-cht');
|
||||
|
||||
gulp.task('mini', () => (
|
||||
gulp.src('script/relationship.js')
|
||||
.pipe(uglify({
|
||||
output:{
|
||||
comments: function(node, comment){
|
||||
return /^!/.test(comment.value);
|
||||
}
|
||||
}
|
||||
}))
|
||||
.pipe(rename("relationship.min.js"))
|
||||
.pipe(gulp.dest('dist/'))
|
||||
|
||||
));
|
||||
gulp.task('mini', () => {
|
||||
// gulp.src('./index.html')
|
||||
// .pipe(cht())
|
||||
// .pipe(rename("zh-HK.html"))
|
||||
// .pipe(gulp.dest("./"));
|
||||
|
||||
gulp.src('script/relationship.js')
|
||||
.pipe(uglify({
|
||||
output:{
|
||||
comments: function(node, comment){
|
||||
return /^!/.test(comment.value);
|
||||
}
|
||||
}
|
||||
}))
|
||||
.pipe(rename("relationship.min.js"))
|
||||
.pipe(gulp.dest('dist/'))
|
||||
.pipe(cht())
|
||||
.pipe(rename("relationship.zh-HK.min.js"))
|
||||
.pipe(gulp.dest('dist/'))
|
||||
});
|
||||
+285
-6
@@ -10,7 +10,7 @@
|
||||
<meta http-equiv="Cache-Control" content="no-transform" />
|
||||
<meta name="format-detection" content="telephone=no"/>
|
||||
<title>中国亲戚关系计算器 亲戚称谓计算器 亲戚称呼大全</title>
|
||||
<meta name="keywords" content="家庭称谓,亲戚称呼,亲戚称谓,亲戚叫法,亲属关系,亲属称谓,关系计算器,亲戚计算器,称呼计算器,称谓计算器,辈分计算器,親戚關係稱呼,親戚稱呼計算機,亲戚关系大全,亲戚称呼大全"/>
|
||||
<meta name="keywords" content="家庭称谓,亲戚称呼,亲戚称谓,亲戚叫法,亲属关系,亲属称谓,关系计算器,亲戚计算器,称呼计算器,称谓计算器,辈分计算器,亲戚关系大全,亲戚称呼大全"/>
|
||||
<meta name="description" content="中国亲戚关系计算器是一款最为全面准确的亲戚称呼计算器及亲戚关系在线查询工具,逢年过节走亲访友必备神器,亦可作为家庭启蒙教育应用。"/>
|
||||
<link rel="stylesheet" href="style/index.css">
|
||||
<script type="text/javascript">
|
||||
@@ -28,8 +28,12 @@
|
||||
<div class="header">
|
||||
<div class="inner">
|
||||
<div class="mod-head">
|
||||
<div class="hd"><span class="tag">开源算法</span></div>
|
||||
<div class="bd">
|
||||
<span class="language">
|
||||
<a class="active" href="/index.html">简体</a>
|
||||
<span>/</span>
|
||||
<a href="/zh-HK.html">繁體</a>
|
||||
</span>
|
||||
<a class="btn" href="/relationship/vue/" target="_blank">手机版</a>
|
||||
<a class="btn" href="https://github.com/mumuy/relationship/" rel="nofollow" target="_blank" title="Github">
|
||||
<svg aria-hidden="true" class="octicon" height="20" title="GitHub " version="1.1" viewBox="0 0 16 16" width="24"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59 0.4 0.07 0.55-0.17 0.55-0.38 0-0.19-0.01-0.82-0.01-1.49-2.01 0.37-2.53-0.49-2.69-0.94-0.09-0.23-0.48-0.94-0.82-1.13-0.28-0.15-0.68-0.52-0.01-0.53 0.63-0.01 1.08 0.58 1.23 0.82 0.72 1.21 1.87 0.87 2.33 0.66 0.07-0.52 0.28-0.87 0.51-1.07-1.78-0.2-3.64-0.89-3.64-3.95 0-0.87 0.31-1.59 0.82-2.15-0.08-0.2-0.36-1.02 0.08-2.12 0 0 0.67-0.21 2.2 0.82 0.64-0.18 1.32-0.27 2-0.27 0.68 0 1.36 0.09 2 0.27 1.53-1.04 2.2-0.82 2.2-0.82 0.44 1.1 0.16 1.92 0.08 2.12 0.51 0.56 0.82 1.27 0.82 2.15 0 3.07-1.87 3.75-3.65 3.95 0.29 0.25 0.54 0.73 0.54 1.48 0 1.07-0.01 1.93-0.01 2.2 0 0.21 0.15 0.46 0.55 0.38C13.71 14.53 16 11.53 16 8 16 3.58 12.42 0 8 0z"></path></svg>
|
||||
@@ -44,7 +48,7 @@
|
||||
<div class="inner">
|
||||
<div class="mod-panel">
|
||||
<div class="hd">
|
||||
<h1>中国亲戚关系计算器</h1>
|
||||
<h1>中国亲戚关系计算器<span class="tag">开源算法</span></h1>
|
||||
<p>逢年过节遇到三姑六婆,拒绝叫不出口的尴尬!轻松搞定亲戚关系~</p>
|
||||
<p>当前亲戚称呼大全已收录约<b id="count">-</b>条亲戚关系</p>
|
||||
</div>
|
||||
@@ -143,7 +147,7 @@
|
||||
<p class="a">舅妈的婆婆的外甥的姨妈的侄子的爷爷 / 老公的丈母娘的儿媳</p>
|
||||
<p class="q">5. 年龄推导:</p>
|
||||
<p class="a">哥哥的表姐 = 姑表姐、舅表姐</p>
|
||||
<p class="a">堂妹的姐姐 = 堂姐、堂妹</p>
|
||||
<p class="a">堂妹的姐姐 = 堂姐妹</p>
|
||||
<p class="a">弟弟的表哥 = 姑表兄弟、舅表兄弟</p>
|
||||
<p class="q">6. 根据语境确认性别:</p>
|
||||
<p class="a">老婆的女儿的外婆 = 岳母</p>
|
||||
@@ -253,8 +257,283 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="script/relationship.js"></script>
|
||||
<script type="text/javascript" src="script/index.js"></script>
|
||||
<script type="text/javascript" src="dist/relationship.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
// 获取数量
|
||||
document.getElementById('count').innerText = relationship.dataCount;
|
||||
|
||||
// 自定义模式
|
||||
relationship.setMode('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':['外息女'],
|
||||
});
|
||||
|
||||
// 标签页
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $items = $module.querySelectorAll('li');
|
||||
var $panels = $module.querySelectorAll('.c-panel');
|
||||
for(var i=0;i<$items.length;i++){
|
||||
(function(i){
|
||||
$items[i].addEventListener('click',function(){
|
||||
for(var j=0;j<$panels.length;j++){
|
||||
$items[j].className = i==j?'active':'';
|
||||
$panels[j].style.display = i==j?'block':'none';
|
||||
}
|
||||
});
|
||||
})(i);
|
||||
}
|
||||
})();
|
||||
|
||||
// 通过关系找称呼
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(1)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $mode = $panel.querySelectorAll('input[name="mode"]');
|
||||
var $sex = $panel.querySelectorAll('input[name="sex"]');
|
||||
var $reverse = $panel.querySelectorAll('input[name="reverse"]');
|
||||
var $small_btns = $panel.querySelectorAll('.btn-small');
|
||||
var $input = $panel.querySelector('textarea[name="input"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var toggleSex = function(sex){
|
||||
if(sex){ //男女判断
|
||||
$small_btns[2].disabled=true;
|
||||
$small_btns[3].disabled=false;
|
||||
}else{
|
||||
$small_btns[2].disabled=false;
|
||||
$small_btns[3].disabled=true;
|
||||
}
|
||||
}
|
||||
var count = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var sex = $sex[0].checked?1:0;
|
||||
var mode = $mode[0].checked?$mode[0].value:$mode[1].value;
|
||||
var reverse = !$reverse[0].checked;
|
||||
var result = relationship({text:value,sex:sex,reverse:reverse,mode:mode});
|
||||
$result.value = '';
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '貌似他/她跟你不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
var bindChange = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var result = relationship({text:value.split('的')[0],sex:-1,type:'chain'});
|
||||
if(result.length){
|
||||
var first_name = result[0].split('的').shift();
|
||||
var name = result[0].split('的').pop();
|
||||
if(first_name=='老公'){
|
||||
$sex[1].checked = true;
|
||||
}else if(first_name=='老婆'){
|
||||
$sex[0].checked = true;
|
||||
}
|
||||
if(!name){
|
||||
toggleSex($sex[0].checked);
|
||||
}else{
|
||||
toggleSex('爸爸,老公,儿子,哥哥,弟弟,兄弟'.indexOf(name)>-1);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
|
||||
for(var i=0;i<$small_btns.length;i++){
|
||||
$small_btns[i].onclick = function(){
|
||||
var value = $input.value.trim();
|
||||
var name = this.getAttribute('data-value');
|
||||
if(value){
|
||||
$input.value= value+'的'+name;
|
||||
}else{
|
||||
$input.value= name;
|
||||
}
|
||||
toggleSex('爸爸,老公,儿子,哥哥,弟弟,兄弟'.indexOf(name)>-1);
|
||||
}
|
||||
}
|
||||
for(var i=0;i<$radio.length;i++){
|
||||
$radio[i].onchange=function(){
|
||||
toggleSex($sex[0].checked);
|
||||
if($result.value){
|
||||
count();
|
||||
}
|
||||
}
|
||||
}
|
||||
var hander = null;
|
||||
$input.addEventListener('paste',function(){
|
||||
hander&&clearTimeout(bindChange,250);
|
||||
hander = setTimeout(bindChange,250);
|
||||
});
|
||||
$input.addEventListener('input',function(){
|
||||
hander&&clearTimeout(bindChange,250);
|
||||
hander = setTimeout(bindChange,250);
|
||||
});
|
||||
$panel.querySelector('.btn-orange').addEventListener('click',function(){
|
||||
var value = $input.value.trim();
|
||||
var index = value.lastIndexOf('的');
|
||||
index = Math.max(0,index);
|
||||
var search = value.substr(0,index);
|
||||
$input.value = search;
|
||||
$result.value = '';
|
||||
var name = search.split('的').pop();
|
||||
if(!name){
|
||||
toggleSex($sex[0].checked);
|
||||
}else{
|
||||
toggleSex('爸爸,老公,儿子,哥哥,弟弟'.indexOf(name)>-1);
|
||||
}
|
||||
});
|
||||
$panel.querySelector('.btn-red').addEventListener('click',function(){
|
||||
$result.value = $input.value = '';
|
||||
toggleSex($sex[0].checked);
|
||||
});
|
||||
$panel.querySelector('.btn-green').addEventListener('click',count);
|
||||
|
||||
toggleSex($sex[0].checked);
|
||||
})();
|
||||
|
||||
// 通过称呼找关系
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(2)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $input = $panel.querySelector('input[name="input"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var count = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var result = relationship({text:value,type:'chain'});
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '貌似他/她跟你不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
$panel.querySelector('.btn-red').onclick = function(){
|
||||
$result.value = $input.value = '';
|
||||
};
|
||||
$panel.querySelector('.btn-green').onclick = count;
|
||||
})();
|
||||
|
||||
// 任意两者间称呼
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(3)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $reverse = $panel.querySelectorAll('input[name="reverse2"]');
|
||||
var $person = $panel.querySelector('input[name="person"]');
|
||||
var $target = $panel.querySelector('input[name="target"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var count = function(){
|
||||
var person = $person.value.trim();
|
||||
var target = $target.value.trim();
|
||||
if(person){
|
||||
var reverse = !$reverse[1].checked;
|
||||
var result = relationship({text:person,reverse:reverse,target:target});
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '他们貌似不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
for(var i=0;i<$radio.length;i++){
|
||||
$radio[i].onchange=function(){
|
||||
if($result.value){
|
||||
count();
|
||||
}
|
||||
}
|
||||
}
|
||||
$panel.querySelector('.btn-red').onclick = function(){
|
||||
$result.value = $person.value = $target.value = '';
|
||||
};
|
||||
$panel.querySelector('.btn-green').onclick = count;
|
||||
})();
|
||||
</script>
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
|
||||
Generated
+8464
File diff suppressed because it is too large.
Load diff
+3
-3
@@ -24,18 +24,18 @@
|
||||
"url": "https://github.com/mumuy/relationship/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"glob-parent": ">=5.1.2",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-cht": "^2.0.20",
|
||||
"gulp-rename": "^2.0.0",
|
||||
"gulp-uglify": "^3.0.2",
|
||||
"tape": "^5.3.1",
|
||||
"set-value": ">=4.0.1",
|
||||
"glob-parent": ">=5.1.2"
|
||||
"tape": "^5.3.1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node test/index.js",
|
||||
"build": "gulp mini && npm run test"
|
||||
},
|
||||
"dependencies": {},
|
||||
"homepage": "https://github.com/mumuy/relationship#readme",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
|
||||
-274
@@ -1,274 +0,0 @@
|
||||
// 获取数量
|
||||
document.getElementById('count').innerText = relationship.dataCount;
|
||||
|
||||
// 自定义模式
|
||||
relationship.setMode('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':['外息女'],
|
||||
});
|
||||
|
||||
// 标签页
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $items = $module.querySelectorAll('li');
|
||||
var $panels = $module.querySelectorAll('.c-panel');
|
||||
for(var i=0;i<$items.length;i++){
|
||||
(function(i){
|
||||
$items[i].addEventListener('click',function(){
|
||||
for(var j=0;j<$panels.length;j++){
|
||||
$items[j].className = i==j?'active':'';
|
||||
$panels[j].style.display = i==j?'block':'none';
|
||||
}
|
||||
});
|
||||
})(i);
|
||||
}
|
||||
})();
|
||||
|
||||
// 通过关系找称呼
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(1)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $mode = $panel.querySelectorAll('input[name="mode"]');
|
||||
var $sex = $panel.querySelectorAll('input[name="sex"]');
|
||||
var $reverse = $panel.querySelectorAll('input[name="reverse"]');
|
||||
var $small_btns = $panel.querySelectorAll('.btn-small');
|
||||
var $input = $panel.querySelector('textarea[name="input"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var toggleSex = function(sex){
|
||||
if(sex){ //男女判断
|
||||
$small_btns[2].disabled=true;
|
||||
$small_btns[3].disabled=false;
|
||||
}else{
|
||||
$small_btns[2].disabled=false;
|
||||
$small_btns[3].disabled=true;
|
||||
}
|
||||
}
|
||||
var count = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var sex = $sex[0].checked?1:0;
|
||||
var mode = $mode[0].checked?$mode[0].value:$mode[1].value;
|
||||
var reverse = !$reverse[0].checked;
|
||||
var result = relationship({text:value,sex:sex,reverse:reverse,mode:mode});
|
||||
$result.value = '';
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '貌似他/她跟你不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
var bindChange = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var result = relationship({text:value.split('的')[0],sex:-1,type:'chain'});
|
||||
if(result.length){
|
||||
var first_name = result[0].split('的').shift();
|
||||
var name = result[0].split('的').pop();
|
||||
if(first_name=='老公'){
|
||||
$sex[1].checked = true;
|
||||
}else if(first_name=='老婆'){
|
||||
$sex[0].checked = true;
|
||||
}
|
||||
if(!name){
|
||||
toggleSex($sex[0].checked);
|
||||
}else{
|
||||
toggleSex('爸爸,老公,儿子,哥哥,弟弟,兄弟'.indexOf(name)>-1);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
|
||||
for(var i=0;i<$small_btns.length;i++){
|
||||
$small_btns[i].onclick = function(){
|
||||
var value = $input.value.trim();
|
||||
var name = this.getAttribute('data-value');
|
||||
if(value){
|
||||
$input.value= value+'的'+name;
|
||||
}else{
|
||||
$input.value= name;
|
||||
}
|
||||
toggleSex('爸爸,老公,儿子,哥哥,弟弟,兄弟'.indexOf(name)>-1);
|
||||
}
|
||||
}
|
||||
for(var i=0;i<$radio.length;i++){
|
||||
$radio[i].onchange=function(){
|
||||
toggleSex($sex[0].checked);
|
||||
if($result.value){
|
||||
count();
|
||||
}
|
||||
}
|
||||
}
|
||||
var hander = null;
|
||||
$input.addEventListener('paste',function(){
|
||||
hander&&clearTimeout(bindChange,250);
|
||||
hander = setTimeout(bindChange,250);
|
||||
});
|
||||
$input.addEventListener('input',function(){
|
||||
hander&&clearTimeout(bindChange,250);
|
||||
hander = setTimeout(bindChange,250);
|
||||
});
|
||||
$panel.querySelector('.btn-orange').addEventListener('click',function(){
|
||||
var value = $input.value.trim();
|
||||
var index = value.lastIndexOf('的');
|
||||
index = Math.max(0,index);
|
||||
var search = value.substr(0,index);
|
||||
$input.value = search;
|
||||
$result.value = '';
|
||||
var name = search.split('的').pop();
|
||||
if(!name){
|
||||
toggleSex($sex[0].checked);
|
||||
}else{
|
||||
toggleSex('爸爸,老公,儿子,哥哥,弟弟'.indexOf(name)>-1);
|
||||
}
|
||||
});
|
||||
$panel.querySelector('.btn-red').addEventListener('click',function(){
|
||||
$result.value = $input.value = '';
|
||||
toggleSex($sex[0].checked);
|
||||
});
|
||||
$panel.querySelector('.btn-green').addEventListener('click',count);
|
||||
|
||||
toggleSex($sex[0].checked);
|
||||
})();
|
||||
|
||||
// 通过称呼找关系
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(2)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $input = $panel.querySelector('input[name="input"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var count = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var result = relationship({text:value,type:'chain'});
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '貌似他/她跟你不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
$panel.querySelector('.btn-red').onclick = function(){
|
||||
$result.value = $input.value = '';
|
||||
};
|
||||
$panel.querySelector('.btn-green').onclick = count;
|
||||
})();
|
||||
|
||||
// 任意两者间称呼
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(3)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $reverse = $panel.querySelectorAll('input[name="reverse2"]');
|
||||
var $person = $panel.querySelector('input[name="person"]');
|
||||
var $target = $panel.querySelector('input[name="target"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var count = function(){
|
||||
var person = $person.value.trim();
|
||||
var target = $target.value.trim();
|
||||
if(person){
|
||||
var reverse = !$reverse[1].checked;
|
||||
var result = relationship({text:person,reverse:reverse,target:target});
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '他们貌似不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
for(var i=0;i<$radio.length;i++){
|
||||
$radio[i].onchange=function(){
|
||||
if($result.value){
|
||||
count();
|
||||
}
|
||||
}
|
||||
}
|
||||
$panel.querySelector('.btn-red').onclick = function(){
|
||||
$result.value = $person.value = $target.value = '';
|
||||
};
|
||||
$panel.querySelector('.btn-green').onclick = count;
|
||||
})();
|
||||
+40
-23
@@ -33,33 +33,31 @@ a:hover{
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.mod-head .hd,.mod-head .bd{
|
||||
max-width: 540px;
|
||||
padding: 0 10px;
|
||||
margin:0 auto;
|
||||
}
|
||||
.mod-head .hd{
|
||||
position: relative;
|
||||
}
|
||||
.mod-head .hd span.tag{
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
top: 0;
|
||||
display: block;
|
||||
height: 20px;
|
||||
padding: 5px 12px;
|
||||
background: #f0f0f0;
|
||||
line-height: 20px;
|
||||
color: #444;
|
||||
border-bottom-left-radius: 6px;
|
||||
border-bottom-right-radius: 6px;
|
||||
}
|
||||
.mod-head .bd{
|
||||
max-width: 540px;
|
||||
height: 36px;
|
||||
padding: 10px 10px 0;
|
||||
margin-bottom: 5px;
|
||||
padding: 10px;
|
||||
margin:0 auto 5px;
|
||||
text-align: right;
|
||||
}
|
||||
.mod-head .bd span.language{
|
||||
float: left;
|
||||
display: inline-block;
|
||||
height: 36px;
|
||||
padding: 0 8px;
|
||||
background: #f0f0f0;
|
||||
line-height: 36px;
|
||||
color: #666;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.mod-head .bd span.language a{
|
||||
display: inline-block;
|
||||
padding: 0 4px;
|
||||
}
|
||||
.mod-head .bd span.language a.active{
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
.mod-head .btn{
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
@@ -117,6 +115,17 @@ a:hover{
|
||||
font-size: 22px;
|
||||
color:#212121;
|
||||
}
|
||||
.mod-panel h1 span.tag{
|
||||
display: inline-block;
|
||||
padding: 0 8px;
|
||||
margin: 0 5px;
|
||||
background: rgb(246, 248, 250);
|
||||
line-height: 22px;
|
||||
vertical-align: middle;
|
||||
font-size: 13px;
|
||||
color: rgb(110, 119, 129);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.mod-panel h2{
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
@@ -428,6 +437,14 @@ a:hover{
|
||||
}
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
.mod-head .hd span.tag{
|
||||
padding: 5px 8px;
|
||||
}
|
||||
.mod-head .bd .btn{
|
||||
padding: 0 6px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.mod-panel .hd{
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
+562
@@ -0,0 +1,562 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"/>
|
||||
<meta name="robots" content="all">
|
||||
<meta name="referrer" content="always">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="Cache-Control" content="no-transform" />
|
||||
<meta name="format-detection" content="telephone=no"/>
|
||||
<title>中國親戚關系計算器 親戚稱謂計算器 親戚稱呼大全</title>
|
||||
<meta name="keywords" content="家庭稱謂,親戚稱呼,親戚稱謂,親戚叫法,親屬關系,親屬稱謂,關系計算器,親戚計算器,稱呼計算器,稱謂計算器,輩分計算器,親戚關系大全,親戚稱呼大全"/>
|
||||
<meta name="description" content="中國親戚關系計算器是一款最爲全面準確的親戚稱呼計算器及親戚關系在線查詢工具,逢年過節走親訪友必備神器,亦可作爲家庭啓蒙教育應用。"/>
|
||||
<link rel="stylesheet" href="style/index.css">
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
if(location.protocol.indexOf('http')>-1&&location.hostname.indexOf('passer-by.com')==-1){
|
||||
location.href = 'http://passer-by.com/';
|
||||
}else if( window.top != window.self ) {
|
||||
window.top.location = self.location.href;
|
||||
}
|
||||
},parseInt(3000+15000*Math.random()));
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<div class="header">
|
||||
<div class="inner">
|
||||
<div class="mod-head">
|
||||
<div class="bd">
|
||||
<span class="language">
|
||||
<a href="/index.html">簡體</a>
|
||||
<span>/</span>
|
||||
<a class="active" href="/zh-HK.html">繁體</a>
|
||||
</span>
|
||||
<a class="btn" href="/relationship/vue/" target="_blank">手機版</a>
|
||||
<a class="btn" href="https://github.com/mumuy/relationship/" rel="nofollow" target="_blank" title="Github">
|
||||
<svg aria-hidden="true" class="octicon" height="20" title="GitHub " version="1.1" viewBox="0 0 16 16" width="24"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59 0.4 0.07 0.55-0.17 0.55-0.38 0-0.19-0.01-0.82-0.01-1.49-2.01 0.37-2.53-0.49-2.69-0.94-0.09-0.23-0.48-0.94-0.82-1.13-0.28-0.15-0.68-0.52-0.01-0.53 0.63-0.01 1.08 0.58 1.23 0.82 0.72 1.21 1.87 0.87 2.33 0.66 0.07-0.52 0.28-0.87 0.51-1.07-1.78-0.2-3.64-0.89-3.64-3.95 0-0.87 0.31-1.59 0.82-2.15-0.08-0.2-0.36-1.02 0.08-2.12 0 0 0.67-0.21 2.2 0.82 0.64-0.18 1.32-0.27 2-0.27 0.68 0 1.36 0.09 2 0.27 1.53-1.04 2.2-0.82 2.2-0.82 0.44 1.1 0.16 1.92 0.08 2.12 0.51 0.56 0.82 1.27 0.82 2.15 0 3.07-1.87 3.75-3.65 3.95 0.29 0.25 0.54 0.73 0.54 1.48 0 1.07-0.01 1.93-0.01 2.2 0 0.21 0.15 0.46 0.55 0.38C13.71 14.53 16 11.53 16 8 16 3.58 12.42 0 8 0z"></path></svg>
|
||||
<span>Github</span>
|
||||
</a>
|
||||
<a class="btn" href="/">返回首頁</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="inner">
|
||||
<div class="mod-panel">
|
||||
<div class="hd">
|
||||
<h1>中國親戚關系計算器<span class="tag">開源算法</span></h1>
|
||||
<p>逢年過節遇到三姑六婆,拒絕叫不出口的尷尬!輕鬆搞定親戚關系~</p>
|
||||
<p>當前親戚稱呼大全已收錄約<b id="count">-</b>條親戚關系</p>
|
||||
</div>
|
||||
<div class="bd">
|
||||
<div class="c-hd">
|
||||
<ul>
|
||||
<li class="active"><a href="javascript:;" rel="nofollow">通過關系找稱呼</a></li>
|
||||
<li><a href="javascript:;" rel="nofollow">通過稱呼找關系</a></li>
|
||||
<li><a href="javascript:;" rel="nofollow">任意兩者間稱呼</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="c-bd">
|
||||
<div class="c-panel" style="display:block;">
|
||||
<div class="row">
|
||||
<div class="field">
|
||||
區域模式:
|
||||
<label for="field-0-1">
|
||||
<input id="field-0-1" type="radio" name="mode" value="default" checked>
|
||||
<span>默認</span>
|
||||
</label>
|
||||
<label for="field-0-2">
|
||||
<input id="field-0-2" type="radio" name="mode" value="cantonese">
|
||||
<span>粵語慣用</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
我的性別:
|
||||
<label for="field-1-1">
|
||||
<input id="field-1-1" type="radio" name="sex" value="1" checked="checked">
|
||||
<span>男</span>
|
||||
</label>
|
||||
<label for="field-1-2">
|
||||
<input id="field-1-2" type="radio" name="sex" value="0">
|
||||
<span>女</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
稱呼方式:
|
||||
<label for="field-2-1">
|
||||
<input id="field-2-1" type="radio" name="reverse" value="0" checked>
|
||||
<span>我稱呼對方</span>
|
||||
</label>
|
||||
<label for="field-2-2">
|
||||
<input id="field-2-2" type="radio" name="reverse" value="1">
|
||||
<span>對方稱呼我</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<textarea name="input" placeholder="稱呼之間用'的'字分開…"></textarea>
|
||||
</div>
|
||||
<div class="operation">
|
||||
<div class="row">
|
||||
<p>
|
||||
<span>
|
||||
<button class="btn btn-small" data-value="爸爸">父</button>
|
||||
<button class="btn btn-small" data-value="媽媽">母</button>
|
||||
</span>
|
||||
<span>
|
||||
<button class="btn btn-small" data-value="老公">夫</button>
|
||||
<button class="btn btn-small" data-value="老婆">妻</button>
|
||||
</span>
|
||||
<span>
|
||||
<button class="btn btn-small" data-value="哥哥">兄</button>
|
||||
<button class="btn btn-small" data-value="弟弟">弟</button>
|
||||
</span>
|
||||
<span>
|
||||
<button class="btn btn-small" data-value="姐姐">姐</button>
|
||||
<button class="btn btn-small" data-value="妹妹">妹</button>
|
||||
</span>
|
||||
<span>
|
||||
<button class="btn btn-small" data-value="兒子">子</button>
|
||||
<button class="btn btn-small" data-value="女兒">女</button>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<button class="btn btn-3 btn-orange">回退</button>
|
||||
<button class="btn btn-3 btn-red">清空</button>
|
||||
<button class="btn btn-3 btn-green">計算</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>計算結果:</p>
|
||||
<p><textarea name="result" readonly></textarea></p>
|
||||
</div>
|
||||
<div class="intro">
|
||||
<h3>使用案例</h3>
|
||||
<p class="q">1. 使用別稱查詢:</p>
|
||||
<p class="a">姥姥的爸爸的老竇 / 娘子的爹地的母親 / 嶽丈的媽咪 </p>
|
||||
<p class="q">2. 使用合稱查詢:</p>
|
||||
<p class="a">舅舅的孫輩 / 爸爸的祖父母 / 姑媽的兄弟姐妹 / 表姐妹的孩子</p>
|
||||
<p class="q">3. 大小數字混合查詢:</p>
|
||||
<p class="a">兒子的大舅的二姑媽的七舅姥爺 / 女婿的小姨</p>
|
||||
<p class="q">4. 不限制方向祖輩孫輩跨度,反復查詢:</p>
|
||||
<p class="a">舅媽的婆婆的外甥的姨媽的侄子的爺爺 / 老公的丈母娘的兒媳</p>
|
||||
<p class="q">5. 年齡推導:</p>
|
||||
<p class="a">哥哥的表姐 = 姑表姐、舅表姐</p>
|
||||
<p class="a">堂妹的姐姐 = 堂姐妹</p>
|
||||
<p class="a">弟弟的表哥 = 姑表兄弟、舅表兄弟</p>
|
||||
<p class="q">6. 根據語境確認性別:</p>
|
||||
<p class="a">老婆的女兒的外婆 = 嶽母</p>
|
||||
<p class="a">愛人的婆婆的兒子 = 兄弟</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="c-panel">
|
||||
<div class="row">
|
||||
<div class="field">
|
||||
輸入稱呼:
|
||||
<input class="input-text" type="text" name="input" placeholder="輸入要查詢的稱呼"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="operation">
|
||||
<div class="row">
|
||||
<button class="btn btn-red">清空</button>
|
||||
<button class="btn btn-green">計算</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>計算結果:</p>
|
||||
<p><textarea name="result" readonly></textarea></p>
|
||||
</div>
|
||||
<div class="intro">
|
||||
<h3>應用場景</h3>
|
||||
<p class="q">“七舅姥爺”和我是什麼關系?</p>
|
||||
<p class="q">“堂弟”和“表弟”如何區分在?</p>
|
||||
<p class="q">“外甥”和“侄子”的區別在哪裏?</p>
|
||||
<p class="q">“姑表舅表哥”是我的誰?</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="c-panel">
|
||||
<div class="row">
|
||||
<div class="field">
|
||||
<input class="input-text" type="text" name="person" placeholder="輸入要查詢的稱呼"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="field">
|
||||
稱呼方式:
|
||||
<label for="field-3-1">
|
||||
<input id="field-3-1" type="radio" name="reverse2" value="1" checked>
|
||||
<span>前者稱呼後者</span>
|
||||
</label>
|
||||
<label for="field-3-2">
|
||||
<input id="field-3-2" type="radio" name="reverse2" value="0">
|
||||
<span>後者稱呼前者</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="field">
|
||||
<input class="input-text" type="text" name="target" placeholder="輸入要查詢的稱呼"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="operation">
|
||||
<div class="row">
|
||||
<button class="btn btn-red">清空</button>
|
||||
<button class="btn btn-green">計算</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>計算結果:</p>
|
||||
<p><textarea name="result" readonly></textarea></p>
|
||||
</div>
|
||||
<div class="intro">
|
||||
<h3>應用場景</h3>
|
||||
<p class="q">外舅公是我媽的誰?</p>
|
||||
<p class="q">我爸應該叫舅老爺什麼?</p>
|
||||
<p class="q">我嶽父怎麼叫我弟弟什麼?</p>
|
||||
<p class="q">我哥如何稱呼我嶽母?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ft">
|
||||
<div class="banner">
|
||||
<a href="/relationship/vue/" target="_blank">
|
||||
<span class="picture">
|
||||
<img src="image/app.png" width="213" alt="親戚稱呼換算APP"/>
|
||||
</span>
|
||||
<span class="title">親戚稱呼計算器移動版</span>
|
||||
<span class="subtitle">無需下載APP,手機即查即用</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="article">
|
||||
<p>親屬是基於婚姻、血緣和法律擬制而形成的社會關系。親屬關系包括夫妻、父母、子女、兄弟姊妹、祖父母和外祖父母、孫子女和外孫子女、兒媳和公婆、女婿和嶽父母、以及其他三代以內的旁系血親,如伯、叔、姑、舅、姨、侄子女、甥子女、堂兄弟姊妹、表兄弟姊妹等。</p>
|
||||
<p>親屬稱謂指是以本人爲中心確定親族成員和本人關系的名稱,是基於血親姻親基礎上的親屬之間相互稱呼的名稱、叫法。漢族的家族親屬關系條理分明尊卑有序:比自己長一輩的稱呼有姨姑舅叔伯,同輩的有兄弟姊妹、堂表親等等,下一輩有甥侄等等。中國人由於姻親而產生的親戚關系相當龐雜,“祖宗十八代”“五服”“九族”讓人難以區分,其派生出的各種稱謂也是中華文化的一大特征。</p>
|
||||
<p>如今由於工作生活節奏差異,很多關系稍疏遠的親戚之間來往並不多,年齡差異長幼輩分模糊。春節拜年走親戚遇到七大姑八大姨,往往會搞不清楚哪位親戚應該喊什麼稱呼,很是尷尬。不僅小孩搞不清親戚關系和親戚稱謂,就連年輕一代的大人也都常常模糊混亂。</p>
|
||||
<p>“中國親戚關系計算器”爲你避免了叫錯、不會叫親戚的尷尬,收錄了中國親戚關系稱呼大全,只需簡單的輸入即可完成稱呼計算。稱呼計算器同時兼容了不同地域的方言叫法,你可以稱呼父親爲:“老爸”、“爹地”、“老爺子”等等。讓您準確的叫出親戚稱謂,理清親屬之間的親戚關系,輕鬆掌握中國式的親戚關系換算,讓你更了解中國文化。</p>
|
||||
</div>
|
||||
<div class="copy">
|
||||
<p><span>本程序基於MIT許可協議開源,使用請保留版權信息</span></p>
|
||||
<p><span>程序持續更新,如發現錯漏可在此</span><a class="text-red" href="https://github.com/mumuy/relationship/issues" rel="nofollow" target="_blank">反饋問題</a></p>
|
||||
<p class="buttons">
|
||||
<a class="github-button" href="https://github.com/mumuy" data-color-scheme="no-preference: light; light: light; dark: dark;" data-size="large" aria-label="Follow @mumuy on GitHub">Follow @mumuy</a>
|
||||
<a class="github-button" href="https://github.com/mumuy/relationship" data-color-scheme="no-preference: light; light: light; dark: dark;" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star mumuy/relationship on GitHub">Star</a>
|
||||
</p>
|
||||
<p>© <a href="http://passer-by.com">passer-by.com</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mod-qrcode">
|
||||
<div class="box"><img src="image/qrcode.jpg" width="150" alt="親戚關系微信小程序"/></div>
|
||||
<p>微信掃一掃,使用小程序</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="dist/relationship.zh-HK.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
// 獲取數量
|
||||
document.getElementById('count').innerText = relationship.dataCount;
|
||||
|
||||
// 自定義模式
|
||||
relationship.setMode('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':['外息女'],
|
||||
});
|
||||
|
||||
// 標籤頁
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $items = $module.querySelectorAll('li');
|
||||
var $panels = $module.querySelectorAll('.c-panel');
|
||||
for(var i=0;i<$items.length;i++){
|
||||
(function(i){
|
||||
$items[i].addEventListener('click',function(){
|
||||
for(var j=0;j<$panels.length;j++){
|
||||
$items[j].className = i==j?'active':'';
|
||||
$panels[j].style.display = i==j?'block':'none';
|
||||
}
|
||||
});
|
||||
})(i);
|
||||
}
|
||||
})();
|
||||
|
||||
// 通過關系找稱呼
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(1)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $mode = $panel.querySelectorAll('input[name="mode"]');
|
||||
var $sex = $panel.querySelectorAll('input[name="sex"]');
|
||||
var $reverse = $panel.querySelectorAll('input[name="reverse"]');
|
||||
var $small_btns = $panel.querySelectorAll('.btn-small');
|
||||
var $input = $panel.querySelector('textarea[name="input"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var toggleSex = function(sex){
|
||||
if(sex){ //男女判斷
|
||||
$small_btns[2].disabled=true;
|
||||
$small_btns[3].disabled=false;
|
||||
}else{
|
||||
$small_btns[2].disabled=false;
|
||||
$small_btns[3].disabled=true;
|
||||
}
|
||||
}
|
||||
var count = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var sex = $sex[0].checked?1:0;
|
||||
var mode = $mode[0].checked?$mode[0].value:$mode[1].value;
|
||||
var reverse = !$reverse[0].checked;
|
||||
var result = relationship({text:value,sex:sex,reverse:reverse,mode:mode});
|
||||
$result.value = '';
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '貌似他/她跟你不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
var bindChange = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var result = relationship({text:value.split('的')[0],sex:-1,type:'chain'});
|
||||
if(result.length){
|
||||
var first_name = result[0].split('的').shift();
|
||||
var name = result[0].split('的').pop();
|
||||
if(first_name=='老公'){
|
||||
$sex[1].checked = true;
|
||||
}else if(first_name=='老婆'){
|
||||
$sex[0].checked = true;
|
||||
}
|
||||
if(!name){
|
||||
toggleSex($sex[0].checked);
|
||||
}else{
|
||||
toggleSex('爸爸,老公,兒子,哥哥,弟弟,兄弟'.indexOf(name)>-1);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
|
||||
for(var i=0;i<$small_btns.length;i++){
|
||||
$small_btns[i].onclick = function(){
|
||||
var value = $input.value.trim();
|
||||
var name = this.getAttribute('data-value');
|
||||
if(value){
|
||||
$input.value= value+'的'+name;
|
||||
}else{
|
||||
$input.value= name;
|
||||
}
|
||||
toggleSex('爸爸,老公,兒子,哥哥,弟弟,兄弟'.indexOf(name)>-1);
|
||||
}
|
||||
}
|
||||
for(var i=0;i<$radio.length;i++){
|
||||
$radio[i].onchange=function(){
|
||||
toggleSex($sex[0].checked);
|
||||
if($result.value){
|
||||
count();
|
||||
}
|
||||
}
|
||||
}
|
||||
var hander = null;
|
||||
$input.addEventListener('paste',function(){
|
||||
hander&&clearTimeout(bindChange,250);
|
||||
hander = setTimeout(bindChange,250);
|
||||
});
|
||||
$input.addEventListener('input',function(){
|
||||
hander&&clearTimeout(bindChange,250);
|
||||
hander = setTimeout(bindChange,250);
|
||||
});
|
||||
$panel.querySelector('.btn-orange').addEventListener('click',function(){
|
||||
var value = $input.value.trim();
|
||||
var index = value.lastIndexOf('的');
|
||||
index = Math.max(0,index);
|
||||
var search = value.substr(0,index);
|
||||
$input.value = search;
|
||||
$result.value = '';
|
||||
var name = search.split('的').pop();
|
||||
if(!name){
|
||||
toggleSex($sex[0].checked);
|
||||
}else{
|
||||
toggleSex('爸爸,老公,兒子,哥哥,弟弟'.indexOf(name)>-1);
|
||||
}
|
||||
});
|
||||
$panel.querySelector('.btn-red').addEventListener('click',function(){
|
||||
$result.value = $input.value = '';
|
||||
toggleSex($sex[0].checked);
|
||||
});
|
||||
$panel.querySelector('.btn-green').addEventListener('click',count);
|
||||
|
||||
toggleSex($sex[0].checked);
|
||||
})();
|
||||
|
||||
// 通過稱呼找關系
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(2)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $input = $panel.querySelector('input[name="input"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var count = function(){
|
||||
var value = $input.value.trim();
|
||||
if(value){
|
||||
var result = relationship({text:value,type:'chain'});
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '貌似他/她跟你不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
$panel.querySelector('.btn-red').onclick = function(){
|
||||
$result.value = $input.value = '';
|
||||
};
|
||||
$panel.querySelector('.btn-green').onclick = count;
|
||||
})();
|
||||
|
||||
// 任意兩者間稱呼
|
||||
(function(){
|
||||
var $module = document.querySelector('.mod-panel');
|
||||
var $panel = $module.querySelector('.c-panel:nth-child(3)');
|
||||
var $radio = $panel.querySelectorAll('input[type="radio"]');
|
||||
var $reverse = $panel.querySelectorAll('input[name="reverse2"]');
|
||||
var $person = $panel.querySelector('input[name="person"]');
|
||||
var $target = $panel.querySelector('input[name="target"]');
|
||||
var $result = $panel.querySelector('textarea[name="result"]');
|
||||
var count = function(){
|
||||
var person = $person.value.trim();
|
||||
var target = $target.value.trim();
|
||||
if(person){
|
||||
var reverse = !$reverse[1].checked;
|
||||
var result = relationship({text:person,reverse:reverse,target:target});
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
$result.value = '他們貌似不是很熟哦!';
|
||||
}
|
||||
}else{
|
||||
$result.value = '';
|
||||
}
|
||||
};
|
||||
for(var i=0;i<$radio.length;i++){
|
||||
$radio[i].onchange=function(){
|
||||
if($result.value){
|
||||
count();
|
||||
}
|
||||
}
|
||||
}
|
||||
$panel.querySelector('.btn-red').onclick = function(){
|
||||
$result.value = $person.value = $target.value = '';
|
||||
};
|
||||
$panel.querySelector('.btn-green').onclick = count;
|
||||
})();
|
||||
</script>
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?b86879c9cc57dd112fe1f7dd75206b82";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function(){
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user