[![Build Status](https://travis-ci.org/mumuy/relationship.svg?branch=gh-pages)](https://travis-ci.org/mumuy/relationship/)
由于工作生活节奏不同,如今很多关系稍疏远的亲戚之间来往并不多。因此放假回家过年时,往往会搞不清楚哪位亲戚应该喊什么称呼,很是尴尬。然而搞不清亲戚关系和亲戚称谓的不仅是小孩,就连年轻一代的大人也都常常模糊混乱。
“中国家庭称谓计算器”为你避免了这种尴尬,只需简单的输入即可算出称谓。输入框兼容了不同的叫法,你可以称呼父亲为:“老爸”、“爹地”、“老爷子”等等,方便不同地域的习惯叫法。快捷输入按键,只需简单的点击即可完成关系输入,算法还支持逆向查找称呼哦~!
项目演示地址:[https://passer-by.com/relationship/](https://passer-by.com/relationship/)
移动版演示地址: [https://passer-by.com/relationship/vue/](https://passer-by.com/relationship/vue/)
## 一、下载 & 安装
该 Javascript 库 / 模块可以用于前端也可以用于后端 Nodejs 中。
1. 直接下载dist/relationship.min.js,然后使用 `<script>`标签引入,可以得到全局的方法 `relationship`.
2. 使用 npm 进行包管理,具体为:
> **npm install relationship.js**
然后使用 `require` 引入模块
```js
var relationship = require("relationship.js");
```
## 二、使用
1. 通用方法: 唯一的计算方法 `relationship`.
* 选项模式`relationship(options)`
参数`options`结构为:
```js
var options = {
text:'', // 目标对象:目标对象的称谓汉字表达,称谓间用‘的’字分隔
target:'', // 相对对象:相对对象的称谓汉字表达,称谓间用‘的’字分隔,空表示自己
sex:-1, // 本人性别:0表示女性,1表示男性
type:'default', // 转换类型:'default'计算称谓,'chain'计算关系链,'pair'计算关系合称
reverse:false, // 称呼方式:true对方称呼我,false我称呼对方
mode:'default', // 模式选择:使用setMode方法定制不同地区模式,在此选择自定义模式
optimal:false, // 最短关系:计算两者之间的最短关系
};
```
代码示例:
```js
// 如:我应该叫外婆的哥哥什么?
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`等.
代码示例:
```js
// 如:舅妈如何称呼外婆?
relationship('舅妈如何称呼外婆?');
// => ['婆婆']
// 如:外婆和奶奶之间是什么关系?
relationship('外婆和奶奶之间是什么关系?');
// => ['儿女亲家']
```
2. 内部属性:获取当前数据表 `relationship.data`.
3. 内部属性:获取当前数据量 `relationship.dataCount`.
4. 内部方法:用户自定义模式 `relationship.setMode(mode_name,mode_data)`.
代码示例(可参考数据表格式对数据进行覆盖):
```js
// 关系解析语法
// 【关系链】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':['表弟'],
});
```
## 三、开发 & 贡献
```sh
# 安装开发依赖
npm install
# build 模块: 将 relationship 打包压缩
npm run build
# 执行测试用例(可以在tests/test.js中完善测试用例)
npm test
```
## 四、关于分歧
一些称呼存在南北方或地区差异,容易引起歧义,并不保证和你所处地区的称谓习惯一致。
部分称呼有多种关系且跨辈分。例如:
* 大爷:爷爷的哥哥 / 父亲的哥哥(北方);
* 舅公:爸妈的舅舅 / 老公的舅舅;
* 伯公:爸妈的伯父 / 老公的伯父;
* 叔公:爸妈的叔叔 / 老公的叔叔;
* 姨公:爸妈的姨丈 / 老公的姨丈;
* 姨夫:姨妈的老公 / 姨子的老公;
* 姑夫:姑妈的老公 / 姑子的老公;
* 婶子:叔叔的老婆 / 叔子的老婆;
* 妗子:舅舅的老婆 / 舅子的老婆;
部分称呼以现代生活常见理解为主。例如:
* 媳妇:在古代或者北方地区指儿子的妻子,这里指自己的妻子(儿媳妇写作“息妇”);
* 太太:一些地方指年长的妇人或曾祖父母,这里指自己的妻子;
## 五、教程
* [算法实现原理](https://github.com/mumuy/relationship/wiki/%E7%AE%97%E6%B3%95%E5%AE%9E%E7%8E%B0)
## 六、其他
他们都在用:
查询网
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
没有合适的资源?快使用搜索试试~ 我知道了~
基于JavaScript实现的中国亲戚关系计算器项目源码,家庭称谓、亲戚称呼、称呼计算、辈分计算、亲戚关系算法
共52个文件
js:29个
png:7个
html:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 82 浏览量
2023-10-18
13:44:20
上传
评论
收藏 369KB ZIP 举报
温馨提示
基于JavaScript实现的中国亲戚关系计算器项目源码,家庭称谓、亲戚称呼、称呼计算、辈分计算、亲戚关系算法 中国家庭称谓计算器为你避免了这种尴尬,只需简单的输入即可算出称谓。输入框兼容了不同的叫法,你可以称呼父亲为:老爸、爹地、老爷子等等,方便不同地域的习惯叫法。快捷输入按键,只需简单的点击即可完成关系输入,算法还支持逆向查找称呼哦 该 Javascript 库模块可以用于前端也可以用于后端 Nodejs 中。 直接下载dist/relationship.min.js,然后使用 script标签引入,可以得到全局的方法 relationship. 使用 npm 进行包管理,具体为: npm install relationship.js 然后使用 require 引入模块
资源推荐
资源详情
资源评论
收起资源包目录
relationship-master.zip (52个子文件)
relationship-master
vue
assets
index.7ab3679e.js 94KB
index.2464a47a.css 36KB
favicon.71a59e4c.ico 4KB
index.html 2KB
vercel.json 49B
gulpfile.js 2KB
babel.config.js 148B
.travis.yml 151B
.github
FUNDING.yml 810B
src
relationship-mode.js 126B
module
options.js 288B
id.js 6KB
rule
similar.js 414B
replace.js 2KB
filter.js 6KB
expression.js 2KB
cache.js 380B
data
input.js 255B
main.js 27KB
multiple.js 7KB
prefix.js 8KB
pair.js 2KB
branch.js 28KB
mode.js 582B
map.js 3KB
unit.js 795B
selector.js 11KB
relationship.js 4KB
locale
guangdong.js 2KB
north.js 497B
LICENSE 1KB
readme.md 5KB
zh-HK.html 29KB
dist
relationship.zh-HK.min.js 81KB
relationship-mode.min.js 3KB
relationship-mode.zh-HK.min.js 3KB
relationship.min.js 81KB
package.json 1KB
package-lock.json 583KB
index.html 29KB
test
index.js 5KB
.gitignore 50B
static
image
bg.svg 3KB
qrcode.png 32KB
app.png 25KB
scan.png 489B
qrcode.jpg 18KB
icon
yuwendaren.png 4KB
miui.png 6KB
quanneng.png 2KB
qinqi.png 6KB
style
index.css 16KB
共 52 条
- 1
资源评论
云哲-吉吉2021
- 粉丝: 3220
- 资源: 1130
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功