• Stars
    star
    2,770
  • Rank 16,441 (Top 0.4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

中国亲戚关系计算器 - 家庭称谓/亲戚称呼/称呼计算/辈分计算/亲戚关系算法/親戚稱呼計算機_Chinese kinship system.

Build Status

由于工作生活节奏不同,如今很多关系稍疏远的亲戚之间来往并不多。因此放假回家过年时,往往会搞不清楚哪位亲戚应该喊什么称呼,很是尴尬。然而搞不清亲戚关系和亲戚称谓的不仅是小孩,就连年轻一代的大人也都常常模糊混乱。

“中国家庭称谓计算器”为你避免了这种尴尬,只需简单的输入即可算出称谓。输入框兼容了不同的叫法,你可以称呼父亲为:“老爸”、“爹地”、“老爷子”等等,方便不同地域的习惯叫法。快捷输入按键,只需简单的点击即可完成关系输入,算法还支持逆向查找称呼哦~!

项目演示地址:https://passer-by.com/relationship/

移动版演示地址: https://passer-by.com/relationship/vue/

一、下载 & 安装

该 Javascript 库 / 模块可以用于前端也可以用于后端 Nodejs 中。

  1. 直接下载dist/relationship.min.js,然后使用 <script>标签引入,可以得到全局的方法 relationship.

  2. 使用 npm 进行包管理,具体为:

    npm install relationship.js

然后使用 require 引入模块

var relationship = require("relationship.js");

二、使用

  1. 通用方法: 唯一的计算方法 relationship.
  • 选项模式relationship(options)

参数options结构为:

var options = {
	text:'',		// 目标对象:目标对象的称谓汉字表达,称谓间用‘的’字分隔
	target:'',	    	// 相对对象:相对对象的称谓汉字表达,称谓间用‘的’字分隔,空表示自己
	sex:-1,			// 本人性别:0表示女性,1表示男性
	type:'default',		// 转换类型:'default'计算称谓,'chain'计算关系链,'pair'计算关系合称
	reverse:false,		// 称呼方式:true对方称呼我,false我称呼对方
	mode:'default',		// 模式选择:使用setMode方法定制不同地区模式,在此选择自定义模式
	optimal:false,       	// 最短关系:计算两者之间的最短关系
};

代码示例:

// 如:我应该叫外婆的哥哥什么?
relationship({text:'妈妈的妈妈的哥哥'});
// => ['舅外公']

// 如:七舅姥爷应该叫我什么?
relationship({text:'七舅姥爷',reverse:true,sex:1});
// => ['甥外孙']

// 如:舅公是什么亲戚
relationship({text:'舅公',type:'chain'});
// => ['爸爸的妈妈的兄弟', '妈妈的妈妈的兄弟', '老公的妈妈的兄弟']

// 如:舅妈如何称呼外婆?
relationship({text:'外婆',target:'舅妈',sex:1});
// => ['婆婆']

// 如:外婆和奶奶之间是什么关系?
relationship({text:'外婆',target:'奶奶',type:'pair'});
// => ['儿女亲家']
  • 语句模式relationship(exptession)

参数exptession句式可以为:xxx是xxx的什么人xxx叫xxx什么xxx如何称呼xxx等.

代码示例:

// 如:舅妈如何称呼外婆?
relationship('舅妈如何称呼外婆?');
// => ['婆婆']

// 如:外婆和奶奶之间是什么关系?
relationship('外婆和奶奶之间是什么关系?');
// => ['儿女亲家']
  1. 内部属性:获取当前数据表 relationship.data.

  2. 内部属性:获取当前数据量 relationship.dataCount.

  3. 内部方法:用户自定义模式 relationship.setMode(mode_name,mode_data).

代码示例(可参考数据表格式对数据进行覆盖):

// 关系解析语法
// 【关系链】f:父,m:母,h:夫,w:妻,s:子,d:女,xb:兄弟,ob:兄,lb:弟,xs:姐妹,os:姐,ls:妹
// 【修饰符】 1:男性,0:女性,&o:年长,&l:年幼,#:隔断,[a|b]:并列
relationship.setMode('northern',{
	'm,f':['姥爷'],
	'm,m':['姥姥'],
	'm,xb,s&o':['表哥'],
	'm,xb,s&l':['表弟'],
});

三、开发 & 贡献

# 安装开发依赖
npm install

# build 模块: 将 relationship 打包压缩
npm run build

# 执行测试用例(可以在tests/test.js中完善测试用例)
npm test

四、关于分歧

一些称呼存在南北方或地区差异,容易引起歧义,并不保证和你所处地区的称谓习惯一致。

部分称呼有多种关系且跨辈分。例如:

  • 大爷:爷爷的哥哥 / 父亲的哥哥(北方);
  • 舅公:爸妈的舅舅 / 老公的舅舅;
  • 伯公:爸妈的伯父 / 老公的伯父;
  • 叔公:爸妈的叔叔 / 老公的叔叔;
  • 姨公:爸妈的姨丈 / 老公的姨丈;
  • 姨夫:姨妈的老公 / 姨子的老公;
  • 姑夫:姑妈的老公 / 姑子的老公;
  • 婶子:叔叔的老婆 / 叔子的老婆;
  • 妗子:舅舅的老婆 / 舅子的老婆;

部分称呼以现代生活常见理解为主。例如:

  • 媳妇:在古代或者北方地区指儿子的妻子,这里指自己的妻子(儿媳妇写作“息妇”);
  • 太太:一些地方指年长的妇人或曾祖父母,这里指自己的妻子;

五、教程

六、其他

他们都在用:

查询网 http://www.ip138.com/chengwei/

在线查询网 http://qinshu.supfree.net/

在线工具 http://www.atool.org/relateship.php

有道语文达人 http://dict.youdao.com/k12yuwen/html/relation.html

小米MIUI系统计算器 http://www.miui.com/

小米MIUI网页版本 http://www.miui.com/zt/calculator2016/dist.php

符号库 http://www.fuhaoku.com/tool/qinqiguanxi.html

More Repositories

1

data_location

中华人民共和国行政区划数据【省、市、区县、乡镇街道】中国省市区镇三级四级联动地址数据(GB/T 2260)
JavaScript
2,656
star
2

widget

基于jquery的插件库 - 轮播/标签页/滚动条/下拉框/对话框/搜索提示/城市三级联动/日历_A set of widgets based on jQuery
JavaScript
1,613
star
3

pacman

基于HTML5的吃豆人游戏 - 经典游戏开发样例_Pacman based on HTML5
JavaScript
1,220
star
4

browser

浏览器检测工具 - Useragent分析/浏览器识别/浏览器判断/UA解析/用户代理信息_Useragent analysis tool
JavaScript
1,214
star
5

datex

时间格式化工具 - 日期标准化/时间间隔计算/时间处理/时区切换_datetime format library
HTML
56
star
6

passerby-cn

Random website. 随机网址导航
JavaScript
55
star
7

chinese-transverter

Simplified Chinese and Traditional Chinese transverter. 中文简繁体转换器-支持地方惯用词汇替换
JavaScript
42
star
8

calendar

中国万年历 - 阴阳历/农历公历换算工具/万年历组件_Chinese lunar calendar and Gregorian calendar conversion tool
JavaScript
30
star
9

finder

routing algorithm.寻径算法 - 游戏开发必备
HTML
22
star
10

data_post

China postal code.中国邮政编码数据大全
JavaScript
20
star
11

api

常用api接口文档
HTML
15
star
12

imageCode

Convert javascript source code into image. JS源码加密,将源码转换为图片
HTML
11
star
13

tools-library

A set of javascript tools. 一套javascript工具库 - 专注于原生javascript兼容解决方案
HTML
10
star
14

mumuy.github.io

My website. 我的站点
HTML
10
star
15

hiddenCode

隐藏javascript代码
HTML
8
star
16

front-end-note

front-end notes. 前端笔记
HTML
7
star
17

blackjack

blackjack game. 21点纸牌游戏
JavaScript
5
star
18

calc24

A 24 point algorithm implementation.一个24点算法的实现
HTML
3
star
19

data-monster

a chrome app for capture the news. 抓取网站新闻的chrome应用
JavaScript
2
star