JavaScript,js的亲戚计算器,中国亲戚关系计算器

中国家庭称谓计算器是一个在线工具,帮助用户在春节期间快速准确地确定亲戚之间的称呼。它支持多种叫法和方言,包括父亲的哥哥、母亲的姐妹等复杂关系,并提供逆向查找功能。用户只需输入简单的称谓,即可得到相应的称呼结果,避免了称呼上的尴尬。工具还考虑到了南北方和不同地区的称呼差异。
摘要由CSDN通过智能技术生成

JavaScript,js的亲戚计算器,中国亲戚关系计算器
在这里插入图片描述
工具简介
由于工作生活节奏不同,如今很多关系稍疏远的亲戚之间来往并不多。因此放假回家过年时,往往会搞不清楚哪位亲戚应该喊什么称呼,很是尴尬。然而搞不清亲戚关系和亲戚称谓的不仅是小孩,就连年轻一代的大人也都常常模糊混乱。
“中国家庭称谓计算器”为你避免了这种尴尬,只需简单的输入即可算出称谓。输入框兼容了不同的叫法,你可以称呼父亲为:“老爸”、“爹地”、“老爷子”等等,方面不同地域的习惯叫法。快捷输入按键,只需简单的点击即可完成关系输入,算法还支持逆向查找称呼哦~!
关于分歧
一些称呼存在南北方或地区差异,容易引起歧义,并不保证和你所处地区的称谓习惯一致。本程序主要以现代生活常见的理解为主。
媳妇:在古代或者当今北方地区指儿子的妻子,这里指自己的妻子。
大爷:北方指父亲的哥哥,这里指爷爷的哥哥
太太:一些地方指年长的妇人,这里指自己的妻子

<div class="panel-body">
            <p>计算类型:
                <label for="default"><input id="default" type="radio" name="type" value="default" checked="">找称呼</label>
                <label for="chain"><input id="chain" type="radio" name="type" value="chain">找关系</label>
            </p>
            <div class="group" style="display: block;">
                <p>我的性别:
                    <label for="male"><input id="male" type="radio" name="sex" value="1" checked=""></label>
                    <label for="female"><input id="female" type="radio" name="sex" value="0"></label>
                </p>
                <p>称呼方式:
                    <label for="call"><input id="call" type="radio" name="reverse" value="0" checked="">我称呼对方</label>
                    <label for="called"><input id="called" type="radio" name="reverse" value="1">对方称呼我</label>
                </p>
            </div>
            <p>
                <textarea id="input" placeholder="称谓间用'的'字分开…" class="form-control"></textarea>
            </p>
            <p>
                <span>快速选择:</span>
                <br>
            </p><div class="btn-group">
                <button type="button" class="btn btn-info" data-value="爸爸"></button>
                <button type="button" class="btn btn-info" data-value="妈妈"></button>
            </div>
            <div class="btn-group">
                <button type="button" class="btn btn-info" data-value="老公" disabled=""></button>
                <button type="button" class="btn btn-info" data-value="老婆"></button>
            </div>
            <div class="btn-group">
                <button type="button" class="btn btn-info" data-value="儿子"></button>
                <button type="button" class="btn btn-info" data-value="女儿"></button>
            </div>
            <div class="btn-group">
                <button type="button" class="btn btn-info" data-value="哥哥"></button>
                <button type="button" class="btn btn-info" data-value="弟弟"></button>
            </div>
            <div class="btn-group">
                <button type="button" class="btn btn-info" data-value="姐姐"></button>
                <button type="button" class="btn btn-info" data-value="妹妹"></button>
            </div>
            <p></p>
            <p>
                <button class="input-button btn btn-warning">回退</button>
                <button class="input-button btn btn-danger">清空</button>
                <button class="input-button btn btn-primary">计算</button>
            </p>
            <p>计算结果:</p>
            <p>
                <textarea id="reslut" class="form-control" rows="5" readonly=""></textarea>
            </p>
        </div>
  !
  function(s, f) {
  	"object" == typeof module && module.exports ? module.exports = f() : s.relationship = f()
  }("undefined" != typeof window ? window : this, function() {
  	function s(s) {
  		s = s.replace(/[二|三|四|五|六|七|八|九|十]{1,2}/g, "x");
  		for (var f = s.split("的"), x = [], m = !0; f.length;) {
  			var b = f.shift(),
  			d = [],
  			h = !1;
  			for (var l in w) {
  				var o = w[l];
  				o.indexOf(b) > -1 && (!l && f.length || d.push(l), h = !0)
  			}
  			if (h || (m = !1), x.length) {
  				for (var e = [], l = 0; l < x.length; l++) for (var r = 0; r < d.length; r++) e.push(x[l] + "," + d[r]);
  					x = e
  			} else for (var l = 0; l < d.length; l++) x.push("," + d[l])
  		}
  		return m ? x : []
  	}
  	function f(s, f) {
  		var x = [],
  		m = {};
  		if (f < 0 && (0 == s.indexOf(",w") ? f = 1 : 0 == s.indexOf(",h") && (f = 0)), f > -1 && (s = "," + f + s), s.match(/,[w0],w|,[h1],h/)) return !1;
  		var b = function(s) {
  			var f = "";
  			if (!m[s]) {
  				m[s] = !0;
  				var w = !0;
  				do {
  					f = s;
  					for (var h in d) {
  						var l = d[h];
  						if (s = s.replace(l.exp, l.str), s.indexOf("#") > -1) {
  							for (var o = s.split("#"), h = 0; h < o.length; h++) b(o[h]);
  								w = !1;
  							break
  						}
  					}
  				} while (f != s);
  				if (w) {
  					if (s.match(/,[w0],w|,[h1],h/)) return !1;
  					s = s.replace(/,[01]/, "").substr(1), x.push(s)
  				}
  			}
  		};
  		return b(s), x
  	}
  	function x(s) {
  		var f = [],
  		x = /&[olx]/g,
  		m = function(s) {
  			var f = [];
  			for (var m in w) m.replace(x, "") == s && f.push(w[m][0]);
  				return f
  		};
  		if (w[s]) f.push(w[s][0]);
  		else if (f = m(s), f.length || (s = s.replace(/&[ol]/g, ""), f = m(s)), f.length || (s = s.replace(/[ol]/g, "x"), f = m(s)), !f.length) {
  			var b = s.replace(/x/g, "l");
  			f = m(b);
  			var d = s.replace(/x/g, "o");
  			f = f.concat(m(d))
  		}
  		return f
  	}
  	function m(s, f) {
  		var x = {
  			f: ["d", "s"],
  			m: ["d", "s"],
  			h: ["w", ""],
  			w: ["", "h"],
  			s: ["m", "f"],
  			d: ["m", "f"],
  			lb: ["os", "ob"],
  			ob: ["ls", "lb"],
  			xb: ["xs", "xb"],
  			ls: ["os", "ob"],
  			os: ["ls", "lb"],
  			xs: ["xs", "xb"]
  		},
  		m = "";
  		if (s.indexOf("&o") > -1 ? m = "&l" : s.indexOf("&l") > -1 && (m = "&o"), s) {
  			s = s.replace(/&[ol]/g, ""), f = f ? 1 : 0;
  			var b = ("," + f + "," + s).replace(/,[fhs]|,[olx]b/g, ",1").replace(/,[mwd]|,[olx]s/g, ",0");
  			b = b.substring(0, b.lastIndexOf(","));
  			for (var d = s.split(",").reverse(), w = b.split(",").reverse(), h = [], l = 0; l < d.length; l++) h.push(x[d[l]][w[l]]);
  				return h.join(",") + m
  		}
  		return ""
  	}
  	function b(s) {
  		for (var f = s.split(","), x = [], m = 0; m < f.length; m++) {
  			var b = f[m].replace(/&[ol]/, "");
  			x.push(w[b][0])
  		}
  		return x.join("的")
  	}
  	var d = [{
  		exp: /^(.+)&o([^#]+)&l/g,
  		str: "$1$2"
  	}, {
  		exp: /^(.+)&l([^#]+)&o/g,
  		str: "$1$2"
  	}, {
  		exp: /(,[ds],(.+),[ds])&[ol]/g,
  		str: "$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: /(,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: /,[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"
  	}],
  	w = {
  		"": ["自己", "我"],
  		"[s|d]": ["子女", "儿女", "小孩", "孩子"],
  		"[f|m]": ["父母", "爹娘", "爹妈", "爸妈", "高堂"],
  		f: ["爸爸", "父亲", "阿爸", "老爸", "老窦", "爹", "爹爹", "爹地", "爹啲", "老爹", "大大", "老爷子"],
  		"f,f": ["爷爷", "祖父", "阿爷", "奶爷", "阿公"],
  		"f,f,f": ["曾祖父", "太爷", "太爷爷", "太公", "祖公", "祖奶爷"],
  		"f,f,f,f": ["高祖父", "老太爷", "祖太爷", "祖太爷爷", "祖太公"],
  		"f,f,f,f,ob": ["伯高祖父"],
  		"f,f,f,f,ob,w": ["伯高祖母"],
  		"f,f,f,f,lb": ["叔高祖父"],
  		"f,f,f,f,lb,w": ["叔高祖母"],
  		"f,f,f,f,xs": ["姑高祖母"],
  		"f,f,f,f,xs,h": ["姑高祖父"],
  		"f,f,f,m": ["高祖母", "老太太", "祖太太", "祖太奶", "祖太奶奶", "祖太婆"],
  		"f,f,f,m,xs": ["姨高祖母"],
  		"f,f,f,m,xs,h": ["姨高祖父"],
  		"f,f,f,ob": ["曾伯祖父", "曾伯父", "伯曾祖父", "伯公太", "伯太爷"],
  		"f,f,f,ob,w": ["曾伯祖母", "曾伯母", "伯曾祖母", "伯婆太", "伯太太"],
  		"f,f,f,lb": ["曾叔祖父", "曾叔父", "叔曾祖父", "叔公太", "叔太爷"],
  		"f,f,f,lb,w": ["曾叔祖母", "曾叔母", "叔曾祖母", "叔婆太", "叔太太"],
  		"f,f,f,xb,s&o": ["堂伯祖父"],
  		"f,f,f,xb,s&o,w": ["堂伯祖母"],
  		"f,f,f,xb,s&l": ["堂叔祖父"],
  		"f,f,f,xb,s&l,w": ["堂叔祖母"],
  		"f,f,f,xb,s,s&o": ["从伯父"],
  		"f,f,f,xb,s,s&o,w": ["从伯母"],
  		"f,f,f,xb,s,s&l": ["从叔父"],
  		"f,f,f,xb,s,s&l,w": ["从叔母"],
  		"f,f,f,xb,s,s,s&o": ["族兄"],
  		"f,f,f,xb,s,s,s&l": ["族弟"],
  		"f,f,f,xb,d": ["堂姑祖母"],
  		"f,f,f,xb,d,h": ["堂姑祖父"],
  		"f,f,f,xs": ["曾祖姑母", "姑曾祖母", "太姑婆", "姑婆太", "姑太太"],
  		"f,f,f,xs,h": ["曾祖姑丈", "姑曾祖父", "太姑丈公", "姑丈公太", "姑太爷"],
  		"f,f,f,xs,s&o": ["表伯祖父"],
  		"f,f,f,xs,s&o,w": ["表伯祖母"],
  		"f,f,f,xs,s&l": ["表叔祖父"],
  		"f,f,f,xs,s&l,w": ["表叔祖母"],
  		"f,f,f,xs,d": ["表姑祖母"],
  		"f,f,f,xs,d,h": ["表姑祖父"],
  		"f,f,m": ["曾祖母", "太奶奶", "太婆", "祖婆", "祖奶奶"],
  		"f,f,m,f": ["高外祖父", "祖太姥爷", "祖太公"],
  		"f,f,m,m": ["高外祖母", "祖太姥姥", "祖太姥娘", "祖太婆"],
  		"f,f,m,xb": ["舅曾祖父", "太舅公", "太舅爷", "舅太爷", "舅太爷爷"],
  		"f,f,m,xb,w": ["舅曾祖母", "太舅婆", "舅太太", "舅太奶奶"],
  		"f,f,m,xb,s&o": ["表伯祖父"],
  		"f,f,m,xb,s&o,w": ["表伯祖母"],
  		"f,f,m,xb,s&l": ["表叔祖父"],
  		"f,f,m,xb,s&l,w": ["表叔祖母"],
  		"f,f,m,xb,d": ["表姑祖母"],
  		"f,f,m,xb,d,h": ["表姑祖父"],
  		"f,f,m,xs": ["姨曾祖母", "太姨奶", "姨太太", "曾姨奶奶", "姨太奶奶"],
  		"f,f,m,xs,h": ["姨曾祖父", "太姨爷", "姨太爷", "姨太爷爷"],
  		"f,f,m,xs,s&o": ["表伯祖父"],
  		"f,f,m,xs,s&o,w": ["表伯祖母"],
  		"f,f,m,xs,s&l": ["表叔祖父"],
  		"f,f,m,xs,s&l,w": ["表叔祖母"],
  		"f,f,m,xs,d": ["表姑祖母"],
  		"f,f,m,xs,d,h": ["表姑祖父"],
  		"f,f,xb": ["堂祖父", "x爷爷"],
  		"f,f,xb,w": ["堂祖母"],
  		"f,f,xb,s&o": ["堂伯", "堂伯父", "从父伯父"],
  		"f,f,xb,s&o,w": ["堂伯母", "从父伯母"],
  		"f,f,xb,s&l": ["堂叔", "从父叔父"],
  		"f,f,xb,s,w": ["堂婶", "堂叔母", "堂婶母", "从父叔母"],
  		"f,f,xb,s,s&o": ["从兄", "从兄弟"],
  		"f,f,xb,s,s&o,w": ["从嫂"],
  		"f,f,xb,s,s&l": ["从弟", "从兄弟"],
  		"f,f,xb,s,s&l,w": ["从弟妹"],
  		"f,f,xb,s,s,s": ["从侄", "从侄子"],
  		"f,f,xb,s,s,s,w": ["从侄媳妇"],
  		"f,f,xb,s,s,s,s": ["从侄孙"],
  		"f,f,xb,s,s,s,d": ["从侄孙女"],
  		"f,f,xb,s,s,d": ["从侄女"],
  		"f,f,xb,s,s,d,h": ["从侄女婿"],
  		"f,f,xb,s,d&o": ["从姐", "从姐妹"],
  		"f,f,xb,s,d&o,h": ["从姐夫"],
  		"f,f,xb,s,d&l": ["从妹", "从姐妹"],
  		"f,f,xb,s,d&l,h": ["从妹夫"],
  		"f,f,xb,d": ["堂姑", "堂姑妈", "堂姑母", "从父姑母"],
  		"f,f,xb,d,h": ["堂姑丈", "堂姑爸", "堂姑父", "从父姑父"],
  		"f,f,xb,d,s&o": ["堂姑表兄"],
  		"f,f,xb,d,s&l": ["堂姑表弟"],
  		"f,f,xb,d,d&o": ["堂姑表姐"],
  		"f,f,xb,d,d&l": ["堂姑表妹"],
  		"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&o,w": ["姑表伯母", "表伯母"],
  		"f,f,xs,s&l": ["姑表叔父", "表叔父", "表叔爸", "表叔"],
  		"f,f,xs,s&l,w": ["姑表叔母", "表叔母", "表叔妈", "表婶"],
  		"f,f,xs,d": ["姑表姑母", "表姑妈", "表姑母", "表姑姑", "表姑"],
  		"f,f,xs,d,h": ["姑表姑父", "表姑爸", "表姑父", "表姑丈"],
  		"f,m": ["奶奶", "祖母", "阿嫲", "阿嬷", "嫲嫲"],
  		"f,m,f": ["曾外祖父", "外太公", "太姥爷"],
  		"f,m,f,f": ["祖太爷", "祖太爷爷", "祖太公"],
  		"f,m,f,m": ["祖太太", "祖太奶奶", "祖太婆"],
  		"f,m,f,xb,s": ["堂舅祖父"],
  		"f,m,f,xb,s,w": ["堂舅祖母"],
  		"f,m,f,xb,d": ["堂姨祖母"],
  		"f,m,f,xb,d,h": ["堂姨祖父"],
  		"f,m,f,ob": ["伯曾外祖父", "伯太姥爷", "伯太奶爷"],
  		"f,m,f,ob,w": ["伯曾外祖母", "伯太姥姥", "伯太奶奶"],
  		"f,m,f,lb": ["叔曾外祖父", "叔太姥爷", "叔太奶爷"],
  		"f,m,f,lb,w": ["叔曾外祖母", "叔太姥姥", "叔太奶奶"],
  		"f,m,f,xs": ["姑曾外祖母", "姑太姥姥", "姑太奶奶"],
  		"f,m,f,xs,h": ["姑曾外祖父", "姑太姥爷", "姑太奶爷", "姑太爷爷"],
  		"f,m,f,xs,s": ["表舅祖父"],
  		"f,m,f,xs,s,w": ["表舅祖母"],
  		"f,m,m": ["曾外祖母", "外太婆", "太姥姥"],
  		"f,m,m,f": ["祖太姥爷", "祖太公"],
  		"f,m,m,m": ["祖太姥姥", "祖太姥娘", "祖太婆"],
  		"f,m,m,xb": ["舅曾外祖父", "舅太姥爷", "舅太奶爷"],
  		"f,m,m,xb,w": ["舅曾外祖母", "舅太姥姥", "舅太奶奶"],
  		"f,m,m,xb,s": ["表舅祖父"],
  		"f,m,m,xb,s,w": ["表舅祖母"],
  		"f,m,m,xb,d": ["表姨祖母"],
  		"f,m,m,xb,d,h": ["表姨祖父"],
  		"f,m,m,xs": ["姨曾外祖母", "姨太姥姥", "姨太奶奶"],
  		"f,m,m,xs,h": ["姨曾外祖父", "姨太姥爷", "姨太奶爷"],
  		"f,m,m,xs,d": ["表姨祖母"],
  		"f,m,m,xs,d,h": ["表姨祖父"],
  		"f,m,m,xs,s": ["表舅祖父"],
  		"f,m,m,xs,s,w": ["表舅祖母"],
  		"f,m,m,xs,d": ["表姨祖母"],
  		"f,m,m,xs,d,h": ["表姨祖父"],
  		"f,m,xb": ["舅公", "舅祖父", "舅老爷", "舅爷爷", "舅爷", "舅祖", "舅奶爷", "太舅父"],
  		"f,m,xb,w": ["舅婆", "舅祖母", "舅奶奶", "妗婆", "太舅母"],
  		"f,m,xb,s&o": ["舅表伯父", "表伯父", "表伯"],
  		"f,m,xb,s&o,w": ["舅表伯母", "表伯母"],
  		"f,m,xb,s&l": ["舅表叔父", "表叔父", "表叔爸", "表叔"],
  		"f,m,xb,s&l,w": ["舅表叔母", "表叔母", "表叔妈", "表婶"],
  		"f,m,xb,s,s": ["从表兄弟"],
  		"f,m,xb,s,d": ["从表姐妹"],
  		"f,m,xb,d": ["舅表姑母", "表姑妈", "表姑母", "表姑姑", "表姑"],
  		"f,m,xb,d,h": ["舅表姑父", "表姑爸", "表姑父", "表姑丈"],
  		"f,m,xb,d,s": ["从表兄弟"],
  		"f,m,xb,d,d": ["从表姐妹"],
  		"f,m,xs": ["祖姨母", "姨祖母", "姨婆", "姨奶奶", "姨奶"],
  		"f,m,xs,h": ["祖姨父", "姨祖父", "姨公", "姨爷爷", "姨丈公", "姨爷", "姨老爷", "姨奶爷"],
  		"f,m,xs,s&o": ["姨表伯父", "表伯", "表伯父", "从母伯父"],
  		"f,m,xs,s&o,w": ["姨表伯母", "表伯母", "从母伯母"],
  		"f,m,xs,s&l": ["姨表叔父", "表叔父", "表叔爸", "表叔", "从母叔父"],
  		"f,m,xs,s&l,w": ["姨表叔母", "表叔母", "表叔妈", "表婶", "从母叔母"],
  		"f,m,xs,s,s": ["从表兄弟"],
  		"f,m,xs,s,d": ["从表姐妹"],
  		"f,m,xs,d": ["姨表姑母", "表姑妈", "表姑母", "表姑姑", "表姑", "从母姑母"],
  		"f,m,xs,d,h": ["姨表姑父", "表姑爸", "表姑父", "表姑丈", "从母姑父"],
  		"f,m,xs,d,s": ["从表兄弟"],
  		"f,m,xs,d,d": ["从表姐妹"],
  		"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,s,w": ["堂侄媳妇"],
  		"f,xb,s,s,s": ["堂侄孙"],
  		"f,xb,s,s,s,w": ["堂侄孙媳妇"],
  		"f,xb,s,s,d": ["堂侄孙女"],
  		"f,xb,s,s,d,h": ["堂侄孙女婿"],
  		"f,xb,s,d": ["堂侄女"],
  		"f,xb,s,d,h": ["堂侄女婿"],
  		"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": ["伯父", "伯伯", "大伯", "x伯"],
  		"f,ob,w": ["伯母", "大娘", "大妈", "x妈"],
  		"f,lb": ["叔叔", "叔父", "阿叔", "叔爸", "叔爹", "仲父", "x叔", "叔"],
  		"f,lb,w": ["婶婶", "婶母", "阿婶", "家婶", "叔母", "叔妈", "叔娘", "季母", "x婶", "婶"],
  		"f,xs": ["姑妈", "姑姑", "姑娘", "大姑妈", "x姑妈", "姑"],
  		"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,s,s": ["表侄孙"],
  		"f,xs,s,s,s,w": ["表侄孙媳妇"],
  		"f,xs,s,s,d": ["表侄孙女"],
  		"f,xs,s,s,d,h": ["表侄孙女婿"],
  		"f,xs,s,d": ["表侄女"],
  		"f,xs,s,d,s": ["外表侄孙"],
  		"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&l": ["姑表妹", "表妹"],
  		"f,xs,d&l,h": ["姑表妹夫", "表妹夫"],
  		"f,xs,d,s": ["表外甥"],
  		"f,xs,d,d": ["表外甥女"],
  		"f,os": ["姑母"],
  		"f,ls": ["姑姐"],
  		m: ["妈妈", "母亲", "老妈", "阿妈", "老母", "老妈子", "娘", "娘亲", "妈咪"],
  		"m,f": ["外公", "外祖父", "姥爷"],
  		"m,f,f": ["外曾祖父", "外太祖父", "外太公", "外太爷爷", "太外祖父"],
  		"m,f,f,f": ["外高祖父", "祖太爷", "祖太爷爷", "祖太公"],
  		"m,f,f,m": ["外高祖母", "祖太太", "祖太奶奶", "祖太婆"],
  		"m,f,f,xb,s&o": ["堂伯外祖父"],
  		"m,f,f,xb,s&o,w": ["堂伯外祖母"],
  		"m,f,f,xb,s&l": ["堂叔外祖父"],
  		"m,f,f,xb,s&l,w": ["堂叔外祖母"],
  		"m,f,f,xb,d": ["堂姑外祖母"],
  		"m,f,f,xb,d,h": ["堂姑外祖父"],
  		"m,f,f,ob": ["伯外曾祖父", "外太伯公", "伯太姥爷", "伯太奶爷", "伯太爷爷"],
  		"m,f,f,ob,w": ["伯外曾祖母", "外太伯母", "伯太姥姥", "伯太奶奶"],
  		"m,f,f,lb": ["叔外曾祖父", "外太叔公", "叔太姥爷", "叔太奶爷", "叔太爷爷"],
  		"m,f,f,lb,w": ["叔外曾祖母", "外太叔母", "叔太姥姥", "叔太奶奶"],
  		"m,f,f,xs": ["姑外曾祖母", "外太姑婆", "姑太姥姥", "姑太奶奶"],
  		"m,f,f,xs,h": ["姑外曾祖父", "外太姑丈公", "姑太姥爷", "姑太奶爷", "姑太爷爷"],
  		"m,f,f,xs,s&o": ["表伯外祖父", "外表伯祖父"],
  		"m,f,f,xs,s&o,w": ["表伯外祖母", "外表伯祖母"],
  		"m,f,f,xs,s&l": ["表叔外祖父", "外表叔祖父"],
  		"m,f,f,xs,s&l,w": ["表叔外祖母", "外表叔祖母"],
  		"m,f,f,xs,d": ["表姑外祖母"],
  		"m,f,f,xs,d,h": ["表姑外祖父"],
  		"m,f,m": ["外曾祖母", "外太祖母", "太外祖母", "外太奶奶", "外太婆"],
  		"m,f,m,f": ["外高外祖父", "祖太姥爷", "祖太公"],
  		"m,f,m,m": ["外高外祖母", "祖太姥姥", "祖太姥娘", "祖太婆"],
  		"m,f,m,xb": ["舅外曾祖父", "外太舅公", "舅太姥爷", "舅太奶爷"],
  		"m,f,m,xb,w": ["舅外曾祖母", "外太舅母", "舅太姥姥", "舅太奶奶", "外太舅婆"],
  		"m,f,m,xb,d": ["表姑外祖母"],
  		"m,f,m,xb,d,h": ["表姑外祖父"],
  		"m,f,m,xs": ["姨外曾祖母", "外太姨婆", "姨太姥姥", "姨太奶奶"],
  		"m,f,m,xs,h": ["姨外曾祖父", "外太姑姨公", "姨太姥爷", "姨太奶爷", "姨太爷爷"],
  		"m,f,m,xs,d": ["表姑外祖母"],
  		"m,f,m,xs,d,h": ["表姑外祖父"],
  		"m,f,xb": ["大姥爷/小姥爷", "x姥爷"],
  		"m,f,xb,s": ["堂舅", "堂舅爸", "堂舅父", "堂舅舅", "从父舅父"],
  		"m,f,xb,s,w": ["堂舅妈", "堂舅母", "从父舅母"],
  		"m,f,xb,s,s&o": ["堂舅表兄"],
  		"m,f,xb,s,s&l": ["堂舅表弟"],
  		"m,f,xb,s,d&o": ["堂舅表姐"],
  		"m,f,xb,s,d&l": ["堂舅表妹"],
  		"m,f,xb,d": ["堂姨", "堂姨妈", "堂姨母", "从父姨母"],
  		"m,f,xb,d,h": ["堂姨丈", "堂姨爸", "堂姨父", "从父姨父"],
  		"m,f,xb,d,s&o": ["堂姨表兄"],
  		"m,f,xb,d,s&l": ["堂姨表弟"],
  		"m,f,xb,d,d&o": ["堂姨表姐"],
  		"m,f,xb,d,d&l": ["堂姨表妹"],
  		"m,f,ob": ["伯外祖父", "外伯祖父", "伯姥爷", "大姥爷", "外伯祖", "伯公"],
  		"m,f,ob,w": ["伯外祖母", "外伯祖母", "伯姥姥", "大姥姥", "外姆婆", "伯婆"],
  		"m,f,lb": ["叔外祖父", "外叔祖父", "叔姥爷", "叔公", "小姥爷", "外叔祖", "叔外祖", "叔爷爷"],
  		"m,f,lb,w": ["叔外祖母", "外叔祖母", "叔姥姥", "叔婆", "小姥姥", "外姆婆"],
  		"m,f,xs": ["姑外祖母", "外姑祖母", "姑姥姥", "外太姑母", "姑婆"],
  		"m,f,xs,h": ["姑外祖父", "外姑祖父", "姑姥爷", "外太姑父", "姑公"],
  		"m,f,xs,s": ["姑表舅父", "姑表舅爸", "表舅父", "表舅爸", "表舅", "表舅舅", "姑表舅舅"],
  		"m,f,xs,s,w": ["姑表舅母", "姑表舅妈", "表舅母", "表舅妈"],
  		"m,f,xs,s,s": ["从表兄弟"],
  		"m,f,xs,s,d": ["从表姐妹"],
  		"m,f,xs,d": ["姑表姨母", "姑表姨妈", "表姨母", "表姨妈", "表姨", "表阿姨", "姑表姨姨"],
  		"m,f,xs,d,h": ["姑表姨父", "姑表姨父", "表姨丈", "表姨父"],
  		"m,f,xs,d,s": ["从表兄弟"],
  		"m,f,xs,d,d": ["从表姐妹"],
  		"m,m": ["外婆", "外祖母", "姥姥", "阿婆"],
  		"m,m,f": ["外曾外祖父", "外太外公", "外太姥爷"],
  		"m,m,f,f": ["祖太爷", "祖太爷爷", "祖太公"],
  		"m,m,f,m": ["祖太太", "祖太奶奶", "祖太婆"],
  		"m,m,f,xb,s": ["堂舅外祖父"],
  		"m,m,f,xb,s,w": ["堂舅外祖母"],
  		"m,m,f,xb,d": ["堂姨外祖母"],
  		"m,m,f,xb,d,h": ["堂姨外祖父"],
  		"m,m,f,ob": ["伯外曾外祖父", "伯太姥爷"],
  		"m,m,f,ob,w": ["伯外曾外祖母", "伯太姥姥"],
  		"m,m,f,lb": ["叔外曾外祖父", "叔太姥爷"],
  		"m,m,f,lb,w": ["叔外曾外祖母", "叔太姥姥"],
  		"m,m,f,xs": ["姑外曾外祖母", "姑太姥姥"],
  		"m,m,f,xs,h": ["姑外曾外祖父", "姑太姥爷"],
  		"m,m,f,xs,s": ["表舅外祖父"],
  		"m,m,f,xs,s,w": ["表舅外祖母"],
  		"m,m,f,xs,d": ["表姨外祖母"],
  		"m,m,f,xs,d,h": ["表姨外祖父"],
  		"m,m,m": ["外曾外祖母", "外太外婆", "外太姥姥"],
  		"m,m,m,f": ["祖太姥爷", "祖太公"],
  		"m,m,m,m": ["祖太姥姥", "祖太姥娘", "祖太婆"],
  		"m,m,m,xb": ["舅外曾外祖父", "舅太姥爷"],
  		"m,m,m,xb,w": ["舅外曾外祖母", "舅太姥姥"],
  		"m,m,m,xb,s": ["表舅外祖父"],
  		"m,m,m,xb,s,w": ["表舅外祖母"],
  		"m,m,m,xb,d": ["表姨外祖母"],
  		"m,m,m,xb,d,h": ["表姨外祖父"],
  		"m,m,m,xs": ["姨外曾外祖母", "姨太姥姥"],
  		"m,m,m,xs,h": ["姨外曾外祖父", "姨太姥爷"],
  		"m,m,m,xs,s": ["表舅外祖父"],
  		"m,m,m,xs,s,w": ["表舅外祖母"],
  		"m,m,m,xs,d": ["表姨外祖母"],
  		"m,m,m,xs,d,h": ["表姨外祖父"],
  		"m,m,xb": ["外舅公", "舅外祖父", "外舅祖父", "舅姥爷", "舅外公", "舅公", "x舅姥爷"],
  		"m,m,xb,w": ["外舅婆", "舅外祖母", "外舅祖母", "舅姥姥", "舅婆"],
  		"m,m,xb,s": ["舅表舅父", "舅表舅爸", "表舅父", "表舅爸", "表舅", "表舅舅", "舅表舅舅"],
  		"m,m,xb,s,w": ["舅表舅母", "舅表舅妈", "表舅母", "表舅妈"],
  		"m,m,xb,s,s": ["从表兄弟"],
  		"m,m,xb,s,d": ["从表姐妹"],
  		"m,m,xb,d": ["舅表姨母", "舅表姨妈", "表姨母", "表姨妈", "表姨", "表阿姨", "舅表姨姨"],
  		"m,m,xb,d,h": ["舅表姨父", "舅表姨丈", "表姨父", "表姨丈"],
  		"m,m,xb,d,s": ["从表兄弟"],
  		"m,m,xb,d,d": ["从表姐妹"],
  		"m,m,xs": ["姨外祖母", "外姨婆", "外姨祖母", "姨姥姥", "姨婆", "姨姥"],
  		"m,m,xs,h": ["姨外祖父", "外姨丈公", "外姨祖父", "姨姥爷", "姨公"],
  		"m,m,xs,s": ["姨表舅父", "姨表舅爸", "表舅父", "表舅爸", "表舅", "表舅舅", "姨表舅舅", "从母舅父"],
  		"m,m,xs,s,w": ["姨表舅母", "姨表舅妈", "表舅母", "表舅妈", "从母舅母"],
  		"m,m,xs,s,s": ["从表兄弟"],
  		"m,m,xs,s,d": ["从表姐妹"],
  		"m,m,xs,d": ["姨表姨母", "姨表姨妈", "表姨母", "表姨妈", "表姨", "表阿姨", "姨表姨姨", "从母姨母"],
  		"m,m,xs,d,h": ["姨表姨父", "姨表姨丈", "表姨父", "表姨丈", "从母姨父"],
  		"m,m,xs,d,s": ["从表兄弟"],
  		"m,m,xs,d,d": ["从表姐妹"],
  		"m,xb": ["舅舅", "舅父", "舅", "娘舅", "舅仔", "母舅", "舅爸", "舅爹", "阿舅", "x舅"],
  		"m,xb,w": ["舅妈", "舅母", "妗子", "妗妗", "妗母", "阿妗", "x舅妈"],
  		"m,xb,s&o": ["舅表哥", "表哥"],
  		"m,xb,s&o,w": ["舅表嫂", "表嫂"],
  		"m,xb,s&l": ["舅表弟", , "表弟"],
  		"m,xb,s&l,w": ["舅表弟媳", "表弟媳", "表弟妹"],
  		"m,xb,s,s": ["表侄", "表侄子"],
  		"m,xb,s,s,s": ["表侄孙"],
  		"m,xb,s,s,s,w": ["表侄孙媳妇"],
  		"m,xb,s,s,d": ["表侄孙女"],
  		"m,xb,s,s,d,h": ["表侄孙女婿"],
  		"m,xb,s,d": ["表侄女"],
  		"m,xb,s,d,s": ["外表侄孙"],
  		"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&l": ["舅表妹", "表妹"],
  		"m,xb,d&l,h": ["舅表妹夫", "表妹夫"],
  		"m,xb,d,s": ["表外甥"],
  		"m,xb,d,d": ["表外甥女"],
  		"m,ob": ["大舅"],
  		"m,ob,w": ["大舅妈"],
  		"m,lb": ["小舅", "舅父仔"],
  		"m,lb,w": ["小舅妈"],
  		"m,xs": ["姨妈", "姨母", "姨姨", "姨娘", "阿姨", "姨", "x姨", "x姨妈"],
  		"m,xs,h": ["姨丈", "姨父", "姨爸", "姨爹", "x姨父"],
  		"m,xs,s&o": ["姨表哥", "表哥"],
  		"m,xs,s&o,w": ["姨表嫂", "表嫂"],
  		"m,xs,s&l": ["姨表弟", "表弟"],
  		"m,xs,s&l,w": ["姨表弟媳", "表弟媳", "表弟妹"],
  		"m,xs,s,s": ["表侄", "表侄子"],
  		"m,xs,s,s,s": ["表侄孙"],
  		"m,xs,s,s,s,w": ["表侄孙媳妇"],
  		"m,xs,s,s,d": ["表侄孙女"],
  		"m,xs,s,s,d,h": ["表侄孙女婿"],
  		"m,xs,s,d": ["表侄女"],
  		"m,xs,s,d,s": ["外表侄孙"],
  		"m,xs,s,d,s,w": ["外表侄孙媳妇"],
  		"m,xs,s,d,d": ["外表侄孙女"],
  		"m,xs,s,d,d,h": ["外表侄孙女婿"],
  		"m,xs,d&o": ["姨表姐", "表姐"],
  		"m,xs,d&o,h": ["姨表姐夫", "表姐夫", "表姐丈"],
  		"m,xs,d&l": ["姨表妹", "表妹"],
  		"m,xs,d&l,h": ["姨表妹夫", "表妹夫"],
  		"m,xs,d,s": ["表外甥"],
  		"m,xs,d,d": ["表外甥女"],
  		"m,os": ["大姨", "大姨妈"],
  		"m,os,h": ["大姨父", "大姨丈"],
  		"m,ls": ["小姨", "小姨妈", "姨仔"],
  		"m,ls,h": ["小姨父", "小姨丈"],
  		h: ["老公", "丈夫", "先生", "官人", "男人", "汉子", "夫", "夫君", "相公", "夫婿", "爱人", "老伴"],
  		"h,f": ["公公", "翁亲", "老公公"],
  		"h,f,f": ["祖翁"],
  		"h,f,f,ob": ["伯祖翁"],
  		"h,f,f,ob,w": ["伯祖婆"],
  		"h,f,f,lb": ["叔祖翁"],
  		"h,f,f,lb,w": ["叔祖婆"],
  		"h,f,f,f": ["太公翁"],
  		"h,f,f,f,ob": ["太伯翁"],
  		"h,f,f,f,ob,w": ["太姆婆"],
  		"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,xs,s&o": ["姑表大伯子"],
  		"h,f,xs,s&o,w": ["姑表大伯嫂"],
  		"h,f,xs,s&l": ["姑表小叔弟"],
  		"h,f,xs,s&l,w": ["姑表小叔弟妇"],
  		"h,f,xs,d&o": ["姑表大姑姐"],
  		"h,f,xs,d&o,h": ["姑表大姑姐夫"],
  		"h,f,xs,d&l": ["姑表小姑妹"],
  		"h,f,xs,d&l,h": ["姑表小姑妹夫"],
  		"h,m": ["婆婆", "姑亲", "老婆婆"],
  		"h,m,xb": ["舅公"],
  		"h,m,xb,w": ["舅婆"],
  		"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,os": ["大姑子", "大姑", "大娘姑", "大姑姊"],
  		"h,os,h": ["大姑夫", "姊丈", "大姑姐夫", "大姑姊夫"],
  		"h,ls": ["小姑子", "小姑", "小姑妹", "姑仔"],
  		"h,ls,h": ["小姑夫", "小亘子", "小姑妹夫"],
  		"h,xs,s": ["婆家甥"],
  		w: ["老婆", "妻子", "太太", "媳妇儿", "媳妇", "夫人", "女人", "婆娘", "妻", "内人", "娘子", "爱人", "老伴"],
  		"w,f": ["岳父", "岳丈", "老丈人", "丈人", "泰山", "妻父"],
  		"w,f,f": ["太岳父"],
  		"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,f,f,xs": ["太姑岳母"],
  		"w,f,f,xs,h": ["太姑岳父"],
  		"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,ob": ["伯岳", "伯岳父"],
  		"w,f,ob,w": ["伯岳母"],
  		"w,f,lb": ["叔岳", "叔岳父"],
  		"w,f,lb,w": ["叔岳母"],
  		"w,f,xs": ["姑岳母"],
  		"w,f,xs,s&o": ["表大舅"],
  		"w,f,xs,s&l": ["表舅仔"],
  		"w,f,xs,d&o": ["表大姨"],
  		"w,f,xs,d&l": ["表姨仔"],
  		"w,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,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,ob": ["大舅子", "大舅哥", "大舅兄", "内兄", "妻兄", "妻舅"],
  		"w,ob,w": ["舅嫂", "大舅妇", "大舅嫂", "大舅媳妇", "大妗子", "内嫂", "妻兄嫂"],
  		"w,lb": ["小舅子", "小舅弟", "内弟", "妻弟", "妻舅"],
  		"w,lb,w": ["舅弟媳", "小舅妇", "小舅弟妇", "小舅媳妇", "小妗子", "妻妹夫"],
  		"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,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": ["小姨夫", "小姨妹夫", "襟弟", "连襟", "姨夫"],
  		xb: ["兄弟"],
  		"xb,w,f": ["姻世伯", "亲家爷", "亲爹", "亲伯"],
  		"xb,w,m": ["姻伯母", "亲家娘", "亲娘"],
  		"xb,w,xb": ["姻兄/姻弟"],
  		"xb,s": ["侄子", "侄儿", "阿侄"],
  		"xb,s,w": ["侄媳", "侄媳妇"],
  		"xb,s,s": ["侄孙", "侄孙子"],
  		"xb,s,s,w": ["侄孙媳"],
  		"xb,s,s,s": ["侄曾孙"],
  		"xb,s,s,d": ["侄曾孙女"],
  		"xb,s,d": ["侄孙女"],
  		"xb,s,d,h": ["侄孙女婿"],
  		"xb,d": ["侄女", "侄囡"],
  		"xb,d,h": ["侄女婿", "侄婿"],
  		"xb,d,s": ["外侄孙", "外侄孙子"],
  		"xb,d,s,w": ["外侄孙媳妇"],
  		"xb,d,d": ["外侄孙女"],
  		"xb,d,d,h": ["外侄孙女婿"],
  		ob: ["哥哥", "哥", "兄", "阿哥", "大哥", "大佬", "老哥", "兄长"],
  		"ob,w": ["嫂子", "大嫂", "x嫂", "嫂", "嫂嫂", "阿嫂"],
  		"ob,w,f": ["姻伯父"],
  		"ob,w,m": ["姻伯母"],
  		lb: ["弟弟", "弟", "细佬", "老弟"],
  		"lb,w": ["弟妹", "弟媳", "弟媳妇"],
  		"lb,w,f": ["姻叔父"],
  		"lb,w,m": ["姻叔母"],
  		xs: ["姐妹", "姊妹"],
  		"xs,h,f": ["姻世伯", "亲家爷", "亲爹", "亲伯"],
  		"xs,h,m": ["姻伯母", "亲家娘", "亲娘"],
  		"xs,h,xb": ["姻兄/姻弟"],
  		"xs,s": ["外甥", "甥男", "甥儿", "甥子", "外甥儿", "外甥子", "外甥儿子"],
  		"xs,s,w": ["外甥媳妇"],
  		"xs,s,s": ["外甥孙", "甥孙男", "甥孙"],
  		"xs,s,s,w": ["外甥孙媳妇"],
  		"xs,s,s,s": ["外曾甥孙"],
  		"xs,s,s,d": ["外曾甥孙女"],
  		"xs,s,d": ["外甥孙女", "甥孙女", "甥孙"],
  		"xs,s,d,h": ["外甥孙女婿"],
  		"xs,s,d,s": ["外曾甥孙"],
  		"xs,s,d,d": ["外曾甥孙女"],
  		"xs,d": ["外甥女", "外甥囡"],
  		"xs,d,h": ["外甥女婿"],
  		"xs,d,s": ["外甥孙", "甥孙男", "甥孙"],
  		"xs,d,s,w": ["外甥孙媳妇"],
  		"xs,d,s,s": ["外曾甥孙"],
  		"xs,d,s,d": ["外曾甥孙女"],
  		"xs,d,d": ["外甥孙女", "甥孙女", "甥孙"],
  		"xs,d,d,h": ["外甥孙女婿"],
  		"xs,d,d,s": ["外曾甥孙"],
  		"xs,d,d,d": ["外曾甥孙女"],
  		os: ["姐姐", "姐", "家姐", "阿姐", "阿姊"],
  		"os,h": ["姐夫", "姊夫", "姊婿"],
  		ls: ["妹妹", "妹", "老妹"],
  		"ls,h": ["妹夫", "妹婿"],
  		s: ["儿子", "仔", "阿仔", "仔仔"],
  		"s,w": ["儿媳妇", "儿媳", "新妇"],
  		"s,w,xb": ["姻侄"],
  		"s,w,xs": ["姻侄女"],
  		"s,s": ["孙子", "孙儿", "孙"],
  		"s,s,w": ["孙媳妇", "孙媳"],
  		"s,s,s": ["曾孙"],
  		"s,s,s,w": ["曾孙媳妇"],
  		"s,s,s,s": ["玄孙", "元孙", "膀孙"],
  		"s,s,s,d": ["玄孙女"],
  		"s,s,s,s,s": ["来孙"],
  		"s,s,d": ["曾孙女"],
  		"s,s,d,h": ["曾孙女婿"],
  		"s,s,d,s": ["外玄孙"],
  		"s,s,d,d": ["外玄孙女"],
  		"s,d": ["孙女", "孙囡"],
  		"s,d,h": ["孙女婿"],
  		"s,d,s": ["曾外孙"],
  		"s,d,d": ["曾外孙女"],
  		d: ["女儿", "千金", "闺女", "女", "阿女", "女女", "掌上明珠", "乖囡", "囡囡"],
  		"d,h": ["女婿", "姑爷", "女婿子", "女婿儿"],
  		"d,h,xb": ["姻侄"],
  		"d,h,xs": ["姻侄女"],
  		"d,s": ["外孙"],
  		"d,s,w": ["外孙媳"],
  		"d,s,s": ["外曾孙", "重外孙"],
  		"d,s,d": ["外曾孙女", "重外孙女"],
  		"d,d": ["外孙女", "外孙囡"],
  		"d,d,h": ["外孙女婿"],
  		"d,d,s": ["外曾外孙"],
  		"d,d,d": ["外曾外孙女"],
  		"s,w,m": ["亲家母", "亲家"],
  		"s,w,f": ["亲家公", "亲家翁", "亲家"],
  		"s,w,f,f": ["太姻翁"],
  		"s,w,f,m": ["太姻姆"],
  		"s,w,f,ob": ["姻兄"],
  		"s,w,f,lb": ["姻弟"],
  		"d,h,m": ["亲家母", "亲家"],
  		"d,h,f": ["亲家公", "亲家翁", "亲家"],
  		"d,h,f,f": ["太姻翁"],
  		"d,h,f,m": ["太姻姆"],
  		"d,h,f,ob": ["姻兄"],
  		"d,h,f,lb": ["姻弟"]
  	},
  	h = function(s) {
  		for (var f, x = [], m = {}, b = 0; null != (f = s[b]); b++) m[f] || (x.push(f), m[f] = !0);
  			return x
  	};
  	return function(d) {
  		var w = {
  			text: "",
  			sex: -1,
  			type: "default",
  			reverse: !1
  		};
  		for (var l in d) w[l] = d[l];
  			for (var o = s(w.text), e = [], r = 0; r < o.length; r++) for (var t = f(o[r], w.sex), n = 0; n < t.length; n++) {
  				var $ = t[n];
  				if ("chain" == w.type) {
  					var p = b($);
  					p && e.push(p)
  				} else {
  					w.reverse && ($ = m($, w.sex));
  					var a = x($);
  					a.length ? e = e.concat(a) : 0 != $.indexOf("w") && 0 != $.indexOf("h") || (a = x($.substr(2)), a.length && (e = e.concat(a)))
  				}
  			}
  			return h(e)
  		}
  	});

  if (typeof Array.prototype.indexOf != "function") {
  	Array.prototype.indexOf = function(searchElement, fromIndex) {
  		var index = -1;
  		fromIndex = fromIndex * 1 || 0;
  		for (var k = 0, length = this.length; k < length; k++) {
  			if (k >= fromIndex && this[k] === searchElement) {
  				index = k;
  				break;
  			}
  		}
  		return index;
  	};
  }

  if (!String.prototype.trim) {
  	String.prototype.trim = function() {
  		return this.replace(/^\s+|\s+$/g, '');
  	};
  }

//跨浏览器DOM对象
var DOMUtil = {
	getStyle: function(node, attr) {
		return node.currentStyle ? node.currentStyle[attr] : getComputedStyle(node, 0)[attr];
	},
	getScroll: function() { //获取滚动条的滚动距离
		var scrollPos = {};
		if (window.pageYOffset || window.pageXOffset) {
			scrollPos['top'] = window.pageYOffset;
			scrollPos['left'] = window.pageXOffset;
		} else if (document.compatMode && document.compatMode != 'BackCompat') {
			scrollPos['top'] = document.documentElement.scrollTop;
			scrollPos['left'] = document.documentElement.scrollLeft;
		} else if (document.body) {
			scrollPos['top'] = document.body.scrollTop;
			scrollPos['left'] = document.body.scrollLeft;
		}
		return scrollPos;
	},
	getClient: function() { //获取浏览器的可视区域位置
		var l, t, w, h;
		l = document.documentElement.scrollLeft || document.body.scrollLeft;
		t = document.documentElement.scrollTop || document.body.scrollTop;
		w = document.documentElement.clientWidth;
		h = document.documentElement.clientHeight;
		return {
			'left': l,
			'top': t,
			'width': w,
			'height': h
		};
	},
	getNextElement: function(node) { //获取下一个节点
		if (node.nextElementSibling) {
			return node.nextElementSibling;
		} else {
			var NextElementNode = node.nextSibling;
			while (NextElementNode.nodeValue != null) {
				NextElementNode = NextElementNode.nextSibling
			}
			return NextElementNode;
		}
	},
	getElementById: function(idName) {
		return document.getElementById(idName);
	},
	getElementsByClassName: function(className, context, tagName) { //根据class获取节点
		if (typeof context == 'string') {
			tagName = context;
			context = document;
		} else {
			context = context || document;
			tagName = tagName || '*';
		}
		if (context.getElementsByClassName) {
			return context.getElementsByClassName(className);
		}
		var nodes = context.getElementsByTagName(tagName);
		var results = [];
		for (var i = 0; i < nodes.length; i++) {
			var node = nodes[i];
			var classNames = node.className.split(' ');
			for (var j = 0; j < classNames.length; j++) {
				if (classNames[j] == className) {
					results.push(node);
					break;
				}
			}
		}
		return results;
	},
	addClass: function(node, classname) { //对节点增加class
		if (!new RegExp("(^|\s+)" + classname).test(node.className)) {
			node.className = (node.className + " " + classname).replace(/^\s+|\s+$/g, '');
		}
	},
	removeClass: function(node, classname) { //对节点删除class
		node.className = (node.className.replace(classname, "")).replace(/^\s+|\s+$/g, '');
	}
};

(function() {
	var $type = document.getElementsByName('type');
	var $sex = document.getElementsByName('sex');
	var $reverse = document.getElementsByName('reverse');
	var $radio = document.getElementsByTagName('INPUT');
	var $textarea = document.getElementsByTagName('TEXTAREA');
	var $group = DOMUtil.getElementsByClassName('group')[0];
	var $btns = DOMUtil.getElementsByClassName('btn');
	var $buttons = DOMUtil.getElementsByClassName('input-button');
	var toggle = function(sex) {
			if (sex) { //男女判断
				$btns[2].disabled = true;
				$btns[3].disabled = false;
			} else {
				$btns[2].disabled = false;
				$btns[3].disabled = true;
			}
		}
		var count = function() {
			var value = $textarea[0].value.trim();
			if (value) {
				var sex = $sex[0].checked ? 1 : 0;
				var type = $type[0].checked ? 'default' : 'chain';
				var reverse = !$reverse[0].checked;
				var result = relationship({
					text: value,
					sex: sex,
					reverse: reverse,
					type: type
				});
				$textarea[1].value = '';
				if (result.length) {
					$textarea[1].value = result.join('\n');
				} else {
					$textarea[1].value = '貌似他/她跟你不是很熟哦!';
				}
			} else {
				$textarea[1].value = '';
			}
		}

		for (var i = 0; i < $btns.length; i++) {
			$btns[i].onclick = function() {
				var value = $textarea[0].value.trim();
				var name = this.getAttribute('data-value');
				if (value) {
					$textarea[0].value = value + '的' + name;
				} else {
					$textarea[0].value = name;
				}
				toggle('爸爸,老公,儿子,哥哥,弟弟'.indexOf(name) > -1);
			}
		}
		for (var i = 0; i < $radio.length; i++) {
			$radio[i].onchange = function() {
				toggle($sex[0].checked);
				$group.style.display = $type[0].checked ? 'block' : 'none';
				if ($textarea[1].value) {
					count();
				}
			}
		}
		$buttons[0].onclick = function() {
			var value = $textarea[0].value.trim();
			var index = value.lastIndexOf('的');
			index = Math.max(0, index);
			var search = value.substr(0, index);
			$textarea[0].value = search;
			$textarea[1].value = '';
			var name = search.split('的').pop();
			if (!name) {
				toggle($sex[0].checked);
			} else {
				toggle('爸爸,老公,儿子,哥哥,弟弟'.indexOf(name) > -1);
			}
		}
		$buttons[1].onclick = function() {
			$textarea[1].value = $textarea[0].value = '';
			toggle($sex[0].checked);
		}
		$buttons[2].onclick = count;

		toggle($sex[0].checked);
	})();

来自 :http://www.tolyg.com/tools/chenghu/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值