updated 数据库更新,去除多余数据

This commit is contained in:
mumuy 2016-04-28 00:21:12 +08:00
parent 9c2fcc6952
commit 7652d681ee
2 changed files with 235 additions and 195 deletions

View File

@ -78,7 +78,6 @@
}else{ }else{
$textarea[0].value= name; $textarea[0].value= name;
} }
console.log(name);
if('爸爸,老公,儿子,哥哥,弟弟'.indexOf(name)>-1){ if('爸爸,老公,儿子,哥哥,弟弟'.indexOf(name)>-1){
$btns[2].disabled=true; $btns[2].disabled=true;
$btns[3].disabled=false; $btns[3].disabled=false;
@ -91,7 +90,7 @@
$buttons[0].onclick = function(){ $buttons[0].onclick = function(){
var value = $textarea[0].value.trim(); var value = $textarea[0].value.trim();
var result = relationship(value); var result = relationship({text:value});
$textarea[1].value = ''; $textarea[1].value = '';
if(result.length){ if(result.length){
$textarea[1].value = result.join('\n'); $textarea[1].value = result.join('\n');
@ -117,4 +116,4 @@
} }
</script> </script>
</body> </body>
</html> </html>

View File

@ -45,22 +45,22 @@
str:',$1b' str:',$1b'
}, },
{//如果自己是男性,父母的儿子是自己或者兄弟 {//如果自己是男性,父母的儿子是自己或者兄弟
con:/(,[fhs]|([olx]b)),[mf],s/, con:/(,[fhs]|,[olx]b),[mf],s/,
exp:/^(.+)?,[mf],s(.+)?$/, exp:/^(.+)?,[mf],s(.+)?$/,
str:'$1$2#$1,xb$2' str:'$1$2#$1,xb$2'
}, },
{//如果自己是女性,父母的女儿是自己或者姐妹 {//如果自己是女性,父母的女儿是自己或者姐妹
con:/(,[mwd]|([olx]s)),[mf],d/, con:/(,[mwd]|,[olx]s),[mf],d/,
exp:/^(.+)?,[mf],d(.+)?$/, exp:/^(.+)?,[mf],d(.+)?$/,
str:'$1$2#$1,xs$2' str:'$1$2#$1,xs$2'
}, },
{//如果自己是女性,父母的儿子是自己兄弟 {//如果自己是女性,父母的儿子是自己兄弟
con:/(,[mwd]|([olx]s)),[mf],s/, con:/(,[mwd]|,[olx]s),[mf],s/,
exp:/,[mf],s/g, exp:/,[mf],s/g,
str:',xb' str:',xb'
}, },
{//如果自己是男性,父母的女儿是自己姐妹 {//如果自己是男性,父母的女儿是自己姐妹
con:/(,[fhs]|([olx]b)),[mf],d/, con:/(,[fhs]|,[olx]b),[mf],d/,
exp:/,[mf],d/g, exp:/,[mf],d/g,
str:',xs' str:',xs'
}, },
@ -82,22 +82,22 @@
str:'$2' str:'$2'
}, },
{//如果自己是男性,兄弟姐妹的兄弟就是自己的兄弟或自己 {//如果自己是男性,兄弟姐妹的兄弟就是自己的兄弟或自己
con:/(,[fhs]|([olx]b)),[olx][sb],[olx]b/, con:/(,[fhs]|,[olx]b),[olx][sb],[olx]b/,
exp:/^(.+)?,[olx][sb],[olx]b(.+)?$/, exp:/^(.+)?,[olx][sb],[olx]b(.+)?$/,
str:'$1,xb$2#$1$2' str:'$1,xb$2#$1$2'
}, },
{//如果自己是女性,兄弟姐妹的姐妹就是自己的姐妹或自己 {//如果自己是女性,兄弟姐妹的姐妹就是自己的姐妹或自己
con:/(,[mwd]|([olx]s)),[olx][sb],[olx]s/, con:/(,[mwd]|,[olx]s),[olx][sb],[olx]s/,
exp:/^(.+)?,[olx][sb],[olx]s(.+)?$/, exp:/^(.+)?,[olx][sb],[olx]s(.+)?$/,
str:'$1,xs$2#$1$2' str:'$1,xs$2#$1$2'
}, },
{//如果自己是女性,兄弟姐妹的兄弟就是自己的兄弟 {//如果自己是女性,兄弟姐妹的兄弟就是自己的兄弟
con:/(,[mwd]|([olx]s)),[olx][sb],[olx]b/, con:/(,[mwd]|,[olx]s),[olx][sb],[olx]b/,
exp:/,[olx][sb],[olx]b/g, exp:/,[olx][sb],[olx]b/g,
str:',xb' str:',xb'
}, },
{//如果自己是男性,兄弟姐妹的姐妹就是自己的姐妹 {//如果自己是男性,兄弟姐妹的姐妹就是自己的姐妹
con:/(,[fhs]|([olx]b)),[olx][sb],[olx]s/, con:/(,[fhs]|,[olx]b),[olx][sb],[olx]s/,
exp:/,[olx][sb],[olx]s/g, exp:/,[olx][sb],[olx]s/g,
str:',xs' str:',xs'
}, },
@ -136,19 +136,19 @@
}, },
/* 夫妻 */ /* 夫妻 */
{//自己是女性,女儿或儿子的妈妈是自己 {//自己是女性,女儿或儿子的妈妈是自己
exp:/(,[mwd](&[ol])?|([olx]s)),[ds](&[ol])?,m/g, exp:/(,[mwd](&[ol])?|[olx]s),[ds](&[ol])?,m/g,
str:'$1' str:'$1'
}, },
{//自己是女性,女儿或儿子的爸爸是自己的丈夫 {//自己是女性,女儿或儿子的爸爸是自己的丈夫
exp:/(,[mwd](&[ol])?|([olx]s)),[ds](&[ol])?,f/g, exp:/(,[mwd](&[ol])?|[olx]s),[ds](&[ol])?,f/g,
str:'$1,h' str:'$1,h'
}, },
{//自己是男性,女儿或儿子的爸爸是自己 {//自己是男性,女儿或儿子的爸爸是自己
exp:/(,[fhs](&[ol])?|([olx]b)),[ds](&[ol])?,f/g, exp:/(,[fhs](&[ol])?|[olx]b),[ds](&[ol])?,f/g,
str:'$1' str:'$1'
}, },
{//自己是男性,女儿或儿子的妈妈是自己的妻子 {//自己是男性,女儿或儿子的妈妈是自己的妻子
exp:/(,[fhs](&[ol])?|([olx]b)),[ds](&[ol])?,m/g, exp:/(,[fhs](&[ol])?|[olx]b),[ds](&[ol])?,m/g,
str:'$1,w' str:'$1,w'
}, },
{//不知道性别,子女的妈妈是自己或妻子 {//不知道性别,子女的妈妈是自己或妻子
@ -164,47 +164,123 @@
str:'$1' str:'$1'
}, },
{//夫妻的对方是自己 {//夫妻的对方是自己
exp:/(,w,h)|(,h,w)/g, exp:/,w,h|,h,w/g,
str:'' str:''
} }
]; ];
var _data = { var _data = {
'':['自己','我'], '':['自己','我'],
//本家
'f':['爸爸','父亲','老爸','老窦','爹','爹地','老爷子'],
'f,f':['爷爷','祖父'],
'f,f,f':['曾祖父','太爷爷'],
'f,f,f,f':['高祖父'],
'f,f,f,m':['高祖母'],
'f,f,m':['曾祖母','太奶奶'],
'f,f,xb':['xx爷爷','二爷爷','三爷爷','堂祖父'],
'f,f,xb,w':['xx奶奶','堂祖母'],
'f,f,xb,s&o':['堂伯'],
'f,f,xb,s&l':['堂叔'],
'f,f,xb,s,w':['堂婶'],
'f,f,xb,d':['堂姑'],
'f,f,xb,d,h':['堂姑丈'],
'f,f,ob':['大爷爷','大爷','堂祖父'],
'f,f,ob,w':['大奶奶','堂祖母'],
'f,f,lb':['小爷爷','堂祖父'],
'f,f,lb,w':['小奶奶','堂祖母'],
'f,f,xs':['姑婆','姑奶奶'],
'f,f,xs,h':['姑丈公','姑爷爷'],
'f,f,xs,s&o':['表伯'],
'f,f,xs,s&l':['表叔'],
'f,f,xs,s,w':['表婶'],
'f,f,xs,d':['表姑'],
'f,f,xs,d,h':['表姑丈'],
'f,m':['奶奶','祖母'],
'f,m,f':['太爷爷'],
'f,m,m':['太奶奶'],
'f,m,xb':['舅爷爷','舅公','舅爷','舅祖','舅奶爷','舅祖父'],
'f,m,xb,w':['舅奶奶','舅婆'],
'f,m,xb,s&o':['表伯'],
'f,m,xb,s&l':['表叔'],
'f,m,xb,s,w':['表婶'],
'f,m,xb,d':['表姑'],
'f,m,xb,d,h':['表姑丈'],
'f,m,xs':['姨奶奶','姨婆'],
'f,m,xs,h':['姨爷爷','姨公','姨爷'],
'f,m,xs,s&o':['表伯'],
'f,m,xs,s&l':['表叔'],
'f,m,xs,s,w':['表婶'],
'f,m,xs,d':['表姑'],
'f,m,xs,d,h':['表姑丈'],
'f,xb,s&o':['堂哥','堂兄'],
'f,xb,s&o,w':['堂嫂'],
'f,xb,s&l':['堂弟'],
'f,xb,s&l,w':['堂弟媳'],
'f,xb,s,s':['堂侄子'],
'f,xb,s,d':['堂侄女'],
'f,xb,d&o':['堂姐'],
'f,xb,d&o,h':['堂姐夫'],
'f,xb,d&l':['堂妹'],
'f,xb,d&l,h':['堂妹夫'],
'f,xb,d,s':['堂外甥'],
'f,xb,d,d':['堂外甥女'],
'f,ob':['伯父','伯伯','大伯','二伯','三伯'],
'f,ob,w':['伯母','大娘'],
'f,lb':['叔叔','叔父','叔','二叔','三叔'],
'f,lb,w':['婶婶','婶母','婶'],
//姑家
'f,xs':['姑妈','姑母','姑姑','姑'],
'f,xs,h':['姑丈','姑父'],
'f,xs,s&o':['表哥(姑家)','表哥'],
'f,xs,s&o,w':['表嫂(姑家)','表嫂'],
'f,xs,s&l':['表弟(姑家)','表弟'],
'f,xs,s&l,w':['表弟媳(姑家)','表弟媳'],
'f,xs,s,s':['表侄子'],
'f,xs,s,d':['表侄女'],
'f,xs,d&o':['表姐(姑家)','表姐'],
'f,xs,d&o,h':['表姐夫(姑家)','表姐夫','表姐丈'],
'f,xs,d&l':['表妹(姑家)','表妹'],
'f,xs,d&l,h':['表妹夫(姑家)','表妹夫'],
'f,xs,d,s':['表外甥'],
'f,xs,d,d':['表外甥女'],
'f,os':['姑母'],
'f,ls':['姑姐'],
//外家 //外家
'm,m':['外婆','姥姥'], 'm':['妈妈','母亲','老妈','老母','娘','娘亲','妈咪'],
'm,f':['外公','姥爷'], 'm,f':['外公','姥爷'],
'm,m,m':['太姥姥'],
'm,m,f':['太姥爷'],
'm,m,xs':['姨姥姥','姨婆'],
'm,m,xs,w':['姨姥爷'],
'm,m,xb':['舅姥爷','舅外祖父','舅外公','舅公'],
'm,m,xb,w':['舅姥姥'],
'm,f,m':['太姥姥','外太祖父'],
'm,f,f':['太姥爷','外太祖母'], 'm,f,f':['太姥爷','外太祖母'],
'm,f,xs':['姑姥姥','外太姑母'], 'm,f,m':['太姥姥','外太祖父'],
'm,f,xs,h':['姑姥爷','外太姑父'], 'm,f,xb':['xx姥爷','二姥爷','三姥爷'],
'm,f,xb,s':['堂舅'],
'm,f,xb,s,w':['堂舅妈'],
'm,f,xb,d':['堂姨'],
'm,f,xb,d,h':['堂姨丈'],
'm,f,ob':['大姥爷','外伯祖'], 'm,f,ob':['大姥爷','外伯祖'],
'm,f,ob,w':['大姥姥','外姆婆'], 'm,f,ob,w':['大姥姥','外姆婆'],
'm,f,lb':['小姥爷','外叔祖'], 'm,f,lb':['小姥爷','外叔祖'],
'm,f,lb,w':['小姥姥','外姆婆'], 'm,f,lb,w':['小姥姥','外姆婆'],
'm,f,xb':['xx姥爷','二姥爷','三姥爷'], 'm,f,xs':['姑姥姥','外太姑母'],
'm,f,xs,h':['姑姥爷','外太姑父'],
'm,f,xs,s':['表舅'], 'm,f,xs,s':['表舅'],
'm,f,xs,s,w':['表舅妈'], 'm,f,xs,s,w':['表舅妈'],
'm,m,xs,s':['表舅'],
'm,m,xs,s,w':['表舅妈'],
'm,m,xb,s':['表舅'],
'm,m,xb,s,w':['表舅妈'],
'm,f,xb,s':['堂舅'],
'm,f,xb,s,w':['堂舅妈'],
'm,m,xs,d':['表姨'],
'm,m,xs,d,h':['表姨丈'],
'm,m,xb,d':['表姨'],
'm,m,xb,d,h':['表姨丈'],
'm,f,xs,d':['表姨'], 'm,f,xs,d':['表姨'],
'm,f,xs,d,h':['表姨丈'], 'm,f,xs,d,h':['表姨丈'],
'm,f,xb,d':['堂姨'], 'm,m':['外婆','姥姥'],
'm,f,xb,d,h':['堂姨丈'], 'm,m,f':['太姥爷','外太外公'],
'm,m,m':['太姥姥','外太外婆'],
'm,m,xb':['舅姥爷','舅外祖父','舅外公','舅公'],
'm,m,xb,w':['舅姥姥'],
'm,m,xb,s':['表舅'],
'm,m,xb,s,w':['表舅妈'],
'm,m,xb,d':['表姨'],
'm,m,xb,d,h':['表姨丈'],
'm,m,xs':['姨姥姥','姨婆'],
'm,m,xs,w':['姨姥爷'],
'm,m,xs,s':['表舅'],
'm,m,xs,s,w':['表舅妈'],
'm,m,xs,d':['表姨'],
'm,m,xs,d,h':['表姨丈'],
//舅家 //舅家
'm,xb':['舅舅','舅父','舅','娘舅','二舅','三舅'], 'm,xb':['舅舅','舅父','舅','娘舅','二舅','三舅'],
'm,xb,w':['舅妈','舅母','妗妗','二舅妈','三舅妈'], 'm,xb,w':['舅妈','舅母','妗妗','二舅妈','三舅妈'],
@ -243,110 +319,26 @@
'm,os,h':['大姨父','大姨丈','大姨夫'], 'm,os,h':['大姨父','大姨丈','大姨夫'],
'm,ls':['小姨','小姨妈'], 'm,ls':['小姨','小姨妈'],
'm,ls,h':['小姨父','小姨丈','小姨夫'], 'm,ls,h':['小姨父','小姨丈','小姨夫'],
//姑家
'f,xs':['姑妈','姑母','姑姑','姑'],
'f,xs,h':['姑丈','姑父'],
'f,xs,s&o':['表哥(姑家)','表哥'],
'f,xs,s&o,w':['表嫂(姑家)','表嫂'],
'f,xs,s&l':['表弟(姑家)','表弟'],
'f,xs,s&l,w':['表弟媳(姑家)','表弟媳'],
'f,xs,s,s':['表侄子'],
'f,xs,s,d':['表侄女'],
'f,xs,d&o':['表姐(姑家)','表姐'],
'f,xs,d&o,h':['表姐夫(姑家)','表姐夫','表姐丈'],
'f,xs,d&l':['表妹(姑家)','表妹'],
'f,xs,d&l,h':['表妹夫(姑家)','表妹夫'],
'f,xs,d,s':['表外甥'],
'f,xs,d,d':['表外甥女'],
'f,os':['姑母'],
'f,ls':['姑姐'],
//本家
'f,xb,s&o':['堂哥','堂兄'],
'f,xb,s&o,w':['堂嫂'],
'f,xb,s&l':['堂弟'],
'f,xb,s&l,w':['堂弟媳'],
'f,xb,s,s':['堂侄子'],
'f,xb,s,d':['堂侄女'],
'f,xb,d&o':['堂姐'],
'f,xb,d&o,h':['堂姐夫'],
'f,xb,d&l':['堂妹'],
'f,xb,d&l,h':['堂妹夫'],
'f,xb,d,s':['堂外甥'],
'f,xb,d,d':['堂外甥女'],
'f,ob':['伯父','伯伯','大伯','二伯','三伯'],
'f,ob,w':['伯母','大娘'],
'f,lb':['叔叔','叔父','叔','二叔','三叔'],
'f,lb,w':['婶婶','婶母','婶'],
'f,m,xs,s&o':['表伯'],
'f,m,xs,s&l':['表叔'],
'f,m,xs,s,w':['表婶'],
'f,m,xb,s&o':['表伯'],
'f,m,xb,s&l':['表叔'],
'f,m,xb,s,w':['表婶'],
'f,f,xs,s&o':['表伯'],
'f,f,xs,s&l':['表叔'],
'f,f,xs,s,w':['表婶'],
'f,f,xb,s&o':['堂伯'],
'f,f,xb,s&l':['堂叔'],
'f,f,xb,s,w':['堂婶'],
'f,f,xs,d':['表姑'],
'f,f,xs,d,h':['表姑丈'],
'f,m,xs,d':['表姑'],
'f,m,xs,d,h':['表姑丈'],
'f,m,xb,d':['表姑'],
'f,m,xb,d,h':['表姑丈'],
'f,f,xb,d':['堂姑'],
'f,f,xb,d,h':['堂姑丈'],
//岳家
'w,m':['岳母','丈母娘'],
'w,f':['岳父','老丈人','丈人','泰山','妻父'],
'w,f,ob':['伯岳'],
'w,f,ob,w':['伯岳母'],
'w,f,lb':['叔岳'],
'w,f,lb,w':['叔岳母'],
'w,f,f':['太岳父'],
'w,f,m':['太岳母'],
'w,f,f,ob':['太伯岳'],
'w,f,f,ob,w':['太伯岳母'],
'w,f,f,lb,':['太叔岳'],
'w,f,f,lb,w':['太叔岳母'],
'w,f,f,xb,s&o':['姻伯'],
'w,f,f,xb,s&o,w':['姻姆'],
'w,f,f,xb,s&l':['姻叔'],
'w,f,f,xb,s&l,w':['姻婶'],
'w,ob':['大舅哥','大舅子','内兄'],
'w,ob,w':['嫂子','大妗子','内嫂'],
'w,lb':['小舅子','内弟'],
'w,lb,w':['弟媳妇','小妗子'],
'w,f,xb,s&o':['姻家兄'],
'w,f,xb,s&l':['姻家弟'],
'w,xb,s':['内侄','妻侄'],
'w,xb,d':['内侄女','妻侄女'],
'w,os':['大姨子','大姨姐','妻姐'],
'w,os,h':['大姨夫','襟兄','连襟'],
'w,ls':['小姨子','小姨姐','妻妹','小妹儿'],
'w,ls,h':['小姨夫','襟弟','连襟'],
'w,xs,s':['妻外甥'],
'w,xs,d':['妻外甥女'],
//婆家 //婆家
'h,m':['婆婆'], 'h':['老公','丈夫','先生','官人','男人','汉子','夫','夫君','爱人'],
'h,f':['公公'], 'h,f':['公公'],
'h,f,f':['祖翁'],
'h,f,f,f':['太公翁'],
'h,f,f,m':['太奶亲'],
'h,f,m':['祖婆'],
'h,f,ob':['伯翁'], 'h,f,ob':['伯翁'],
'h,f,ob,w':['伯婆'], 'h,f,ob,w':['伯婆'],
'h,f,lb':['叔翁'], 'h,f,lb':['叔翁'],
'h,f,lb,w':['叔婆'], 'h,f,lb,w':['叔婆'],
'h,f,f':['祖翁'],
'h,f,m':['祖婆'],
'h,f,f,f':['太公翁'],
'h,f,f,m':['太奶亲'],
'h,f,xb,s&o':['堂哥','堂兄'], 'h,f,xb,s&o':['堂哥','堂兄'],
'h,f,xb,s&o,w':['堂嫂'], 'h,f,xb,s&o,w':['堂嫂'],
'h,f,xb,s&l':['堂弟'], 'h,f,xb,s&l':['堂弟'],
'h,f,xb,s&l,w':['堂小弟'], 'h,f,xb,s&l,w':['堂小弟'],
'h,ob':['大伯子','夫兄'], 'h,m':['婆婆'],
'h,ob,w':['大婶子','大伯娘','大嫂','夫兄嫂','妯娌'], 'h,m,xb':['舅公'],
'h,lb':['小叔子'], 'h,m,xb,w':['舅婆'],
'h,lb,w':['小婶子','妯娌'], 'h,m,xs':['姨婆'],
'h,m,xs,h':['姨公'],
'h,xb,s':['侄子'], 'h,xb,s':['侄子'],
'h,xb,s,w':['侄媳','侄媳妇'], 'h,xb,s,w':['侄媳','侄媳妇'],
'h,xb,s,s':['侄孙','侄孙子'], 'h,xb,s,s':['侄孙','侄孙子'],
@ -356,27 +348,50 @@
'h,xb,d,h':['侄女婿'], 'h,xb,d,h':['侄女婿'],
'h,xb,d,s':['外侄孙'], 'h,xb,d,s':['外侄孙'],
'h,xb,d,d':['外侄孙女'], 'h,xb,d,d':['外侄孙女'],
'h,ob':['大伯子','夫兄'],
'h,ob,w':['大婶子','大伯娘','大嫂','夫兄嫂','妯娌'],
'h,lb':['小叔子'],
'h,lb,w':['小婶子','妯娌'],
'h,xs,s':['外甥'],
'h,xs,d':['外甥女'],
'h,os':['大姑子','大姑','大娘姑'], 'h,os':['大姑子','大姑','大娘姑'],
'h,os,h':['大姑夫','姊丈'], 'h,os,h':['大姑夫','姊丈'],
'h,ls':['小姑子','小姑'], 'h,ls':['小姑子','小姑'],
'h,ls,h':['小姑夫'], 'h,ls,h':['小姑夫'],
'h,xs,s':['姨甥'], //岳家
'h,xs,d':['姨甥女'], 'w':['老婆','妻子','太太','媳妇','夫人','女人','婆娘','妻','内人','娘子','爱人'],
'h,m,xb':['舅公'], 'w,f':['岳父','老丈人','丈人','泰山','妻父'],
'h,m,xb,w':['舅婆'], 'w,f,f':['太岳父'],
'h,m,xs':['姨婆'], 'w,f,f,ob':['太伯岳'],
'h,m,xs,h':['姨公'], 'w,f,f,ob,w':['太伯岳母'],
'w,f,f,lb,':['太叔岳'],
'w,f,f,lb,w':['太叔岳母'],
'w,f,f,xb,s&o':['姻伯'],
'w,f,f,xb,s&o,w':['姻姆'],
'w,f,f,xb,s&l':['姻叔'],
'w,f,f,xb,s&l,w':['姻婶'],
'w,f,m':['太岳母'],
'w,f,xb,s&o':['姻家兄'],
'w,f,xb,s&l':['姻家弟'],
'w,f,ob':['伯岳'],
'w,f,ob,w':['伯岳母'],
'w,f,lb':['叔岳'],
'w,f,lb,w':['叔岳母'],
'w,m':['岳母','丈母娘'],
'w,xb,s':['内侄','妻侄'],
'w,xb,d':['内侄女','妻侄女'],
'w,ob':['大舅哥','大舅子','内兄'],
'w,ob,w':['嫂子','大妗子','内嫂'],
'w,lb':['小舅子','内弟'],
'w,lb,w':['弟媳妇','小妗子'],
'w,xs,s':['妻外甥'],
'w,xs,d':['妻外甥女'],
'w,os':['大姨子','大姨姐','妻姐'],
'w,os,h':['大姨夫','襟兄','连襟'],
'w,ls':['小姨子','小姨姐','妻妹','小妹儿'],
'w,ls,h':['小姨夫','襟弟','连襟'],
//旁支 //旁支
'xb':['兄弟'], 'xb':['兄弟'],
'xs':['姐妹'],
'ob':['哥哥','哥','兄','大哥','大佬'],
'ob,w':['嫂子','嫂'],
'ob,w,f':['姻伯父'],
'ob,w,m':['姻伯母'],
'lb':['弟弟','弟'],
'lb,w':['弟妹','弟媳','弟媳妇'],
'lb,w,f':['姻叔父'],
'lb,w,m':['姻叔母'],
'xb,s':['侄子'], 'xb,s':['侄子'],
'xb,s,w':['侄媳','侄媳妇'], 'xb,s,w':['侄媳','侄媳妇'],
'xb,s,s':['侄孙','侄孙子'], 'xb,s,s':['侄孙','侄孙子'],
@ -386,10 +401,15 @@
'xb,d,h':['侄女婿'], 'xb,d,h':['侄女婿'],
'xb,d,s':['外侄孙子'], 'xb,d,s':['外侄孙子'],
'xb,d,d':['外侄孙女'], 'xb,d,d':['外侄孙女'],
'os':['姐姐','姐'], 'ob':['哥哥','哥','兄','大哥','大佬'],
'os,h':['姐夫','姊夫','姊婿'], 'ob,w':['嫂子','嫂'],
'ls':['妹妹','妹'], 'ob,w,f':['姻伯父'],
'ls,h':['妹夫','妹婿'], 'ob,w,m':['姻伯母'],
'lb':['弟弟','弟'],
'lb,w':['弟妹','弟媳','弟媳妇'],
'lb,w,f':['姻叔父'],
'lb,w,m':['姻叔母'],
'xs':['姐妹'],
'xs,h,f':['亲家爷','亲爹','亲伯'], 'xs,h,f':['亲家爷','亲爹','亲伯'],
'xs,h,m':['亲家娘','亲娘'], 'xs,h,m':['亲家娘','亲娘'],
'xs,s':['外甥'], 'xs,s':['外甥'],
@ -402,34 +422,11 @@
'xs,d,s,w':['甥外孙媳妇'], 'xs,d,s,w':['甥外孙媳妇'],
'xs,d,d':['甥外孙女'], 'xs,d,d':['甥外孙女'],
'xs,d,d,h':['甥外孙女婿'], 'xs,d,d,h':['甥外孙女婿'],
//内家 'os':['姐姐','姐'],
'f,f,f,f':['高祖父'], 'os,h':['姐夫','姊夫','姊婿'],
'f,f,f,m':['高祖母'], 'ls':['妹妹','妹'],
'f,f,f':['曾祖父'], 'ls,h':['妹夫','妹婿'],
'f,f,m':['曾祖母'],
'f,m':['奶奶','祖母'],
'f,f':['爷爷','祖父'],
'f,f,f':['太爷爷'],
'f,f,m':['太奶奶'],
'f,f,xb':['xx爷爷','二爷爷','三爷爷','堂祖父'],
'f,f,xb,w':['xx奶奶','堂祖母'],
'f,f,ob':['大爷爷','大爷','堂祖父'],
'f,f,ob,w':['大奶奶','堂祖母'],
'f,f,lb':['小爷爷','堂祖父'],
'f,f,lb,w':['小奶奶','堂祖母'],
'f,f,xs':['姑奶奶'],
'f,f,xs,h':['姑爷爷'],
'f,m,f':['太爷爷'],
'f,m,m':['太奶奶'],
'f,m,xs':['姨奶奶','姨婆'],
'f,m,xs,h':['姨爷爷','姨公','姨爷'],
'f,m,xb':['舅爷爷','舅公','舅爷','舅祖','舅奶爷','舅祖父'],
'f,m,xb,w':['舅奶奶','舅婆'],
//自家 //自家
'm':['妈妈','母亲','老妈','老母','娘','娘亲','妈咪'],
'f':['爸爸','父亲','老爸','老窦','爹','爹地','老爷子'],
'w':['老婆','妻子','太太','媳妇','夫人','女人','婆娘','妻','内人','娘子','爱人'],
'h':['老公','丈夫','先生','官人','男人','汉子','夫','夫君','爱人'],
's':['儿子'], 's':['儿子'],
's,w':['儿媳妇','儿媳'], 's,w':['儿媳妇','儿媳'],
's,w,xb':['姻侄'], 's,w,xb':['姻侄'],
@ -439,7 +436,7 @@
's,s,s':['曾孙'], 's,s,s':['曾孙'],
's,s,s,w':['曾孙媳妇'], 's,s,s,w':['曾孙媳妇'],
's,s,s,s':['玄孙'], 's,s,s,s':['玄孙'],
's,s,d':['曾孙女'], 's,s,d,h':['曾孙女婿'],
's,d':['孙女'], 's,d':['孙女'],
's,d,h':['孙女婿'], 's,d,h':['孙女婿'],
's,d,s':['曾外孙'], 's,d,s':['曾外孙'],
@ -456,19 +453,19 @@
'd,d,h':['外孙女婿'], 'd,d,h':['外孙女婿'],
'd,d,s':['外曾外孙'], 'd,d,s':['外曾外孙'],
'd,d,d':['外曾外孙女'], 'd,d,d':['外曾外孙女'],
//其他 //亲家
's,w,m':['亲家母'], 's,w,m':['亲家母'],
's,w,f':['亲家公','亲家翁'], 's,w,f':['亲家公','亲家翁'],
's,w,f,ob':['姻兄'],
's,w,f,lb':['姻弟'],
's,w,f,f':['太姻翁'], 's,w,f,f':['太姻翁'],
's,w,f,f':['太姻姆'], 's,w,f,f':['太姻姆'],
's,w,f,ob':['姻兄'],
's,w,f,lb':['姻弟'],
'd,h,m':['亲家母'], 'd,h,m':['亲家母'],
'd,h,f':['亲家公','亲家翁'], 'd,h,f':['亲家公','亲家翁'],
'd,h,f,ob':['姻兄'],
'd,h,f,lb':['姻弟'],
'd,h,f,f':['太姻翁'], 'd,h,f,f':['太姻翁'],
'd,h,f,f':['太姻姆'] 'd,h,f,f':['太姻姆'],
'd,h,f,ob':['姻兄'],
'd,h,f,lb':['姻弟']
}; };
//数组去重 //数组去重
@ -557,7 +554,6 @@
break; break;
} }
} }
// console.log('selector#',selector);
}while(s!=selector); }while(s!=selector);
if(status){ if(status){
if(selector==''&&sex1>-1&&sex1!=sex2){ if(selector==''&&sex1>-1&&sex1!=sex2){
@ -584,20 +580,65 @@
return result; return result;
} }
function relationship(str){ //逆转ID
var selectors = getSelectors(str); function reverseId(id,sex){
console.log('selectors#',selectors); var hash = {
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']
};
var age = '';
if(id.indexOf('&o')>-1){
age = '&l';
}else if(id.indexOf('&l')>-1){
age = '&o';
}
id = id.replace(/&[ol]/g,'');
var sid = (','+sex+','+id).replace(/,[fhs]|,[olx]b/g,',1').replace(/,[mwd]|,[olx]s/g,',0');
sid = sid.substring(0,sid.lastIndexOf(','));
var id_arr = id.split(',').reverse();
var sid_arr = sid.split(',').reverse();
var arr = [];
for(var i=0;i<id_arr.length;i++){
arr.push(hash[id_arr[i]][sid_arr[i]]);
}
return arr.join(',')+age;
}
function relationship(parameter){
var options = {
text:'',
sex:1,
reverse:false
};
for (var p in parameter) {
options[p] = parameter[p];
}
var selectors = getSelectors(options.text);
// console.log('selectors#',selectors);
var result = []; //匹配结果 var result = []; //匹配结果
for(var i = 0;i<selectors.length;i++){ //遍历所有可能性 for(var i = 0;i<selectors.length;i++){ //遍历所有可能性
var ids = selector2id(selectors[i]); var ids = selector2id(selectors[i]);
console.log('ids#',ids); // console.log('ids#',ids);
for(var j=0;j<ids.length;j++){ for(var j=0;j<ids.length;j++){
var id = ids[j]; var id = ids[j];
if(_data[id]){ //直接匹配称呼 if(options.reverse){
id = reverseId(id,options.sex);
}
if(_data[id]){ //直接匹配称呼
result.push(_data[id][0]); result.push(_data[id][0]);
}else{ //高级查找 }else{ //高级查找
var data = getDataById(id); //忽略属性查找 var data = getDataById(id); //忽略属性查找
if(!data.length){ //当无精确数据时,忽略年龄条件查找 if(!data.length){ //当无精确数据时,忽略年龄条件查找
id = id.replace(/&[ol]/g,''); id = id.replace(/&[ol]/g,'');
data = getDataById(id); data = getDataById(id);
} }
@ -623,7 +664,7 @@
window.relationship = relationship; window.relationship = relationship;
})(window); })(window);
// console.log(relationship('姐姐的姐姐的姐姐')); // console.log(relationship('爸爸的妈妈的儿子'));
//老公的老婆的儿子的爸爸的老婆的儿子的爸爸 //老公的老婆的儿子的爸爸的老婆的儿子的爸爸
//我的三舅的儿子的爸爸的妹妹的儿子的叔叔的哥哥 //我的三舅的儿子的爸爸的妹妹的儿子的叔叔的哥哥
//老婆的外孙的姥姥 //老婆的外孙的姥姥