updated 条件判断更加严谨
This commit is contained in:
parent
03062069ce
commit
97aa5f4384
4
dist/relationship.min.js
vendored
4
dist/relationship.min.js
vendored
File diff suppressed because one or more lines are too long
4
dist/relationship.zh-HK.min.js
vendored
4
dist/relationship.zh-HK.min.js
vendored
File diff suppressed because one or more lines are too long
@ -670,8 +670,12 @@
|
||||
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,optimal:$optimal[0].checked});
|
||||
if($reverse[0].checked){
|
||||
var temp = target;
|
||||
target = person;
|
||||
person = temp;
|
||||
}
|
||||
var result = relationship({text:person,target:target,optimal:$optimal[0].checked});
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
|
@ -351,11 +351,11 @@ export default {
|
||||
'h,m,xs':['姨婆母','姨婆','姨婆婆'],
|
||||
'h,m,xs,h':['姨公父','姨公','姨公公'],
|
||||
'h':['老公','丈夫','先生','夫','男人','新郎','爱爷','夫亲','夫君','官人','汉子','老头子','郎君','相公','夫婿','良人','老公仔','爱人','老伴','那口子','配偶','伴侣','伉俪','卿卿'],
|
||||
'h,ob':['大伯子','大伯儿','大伯兄','伯子','伯兄','大伯爷','伯爷子','婿伯'],
|
||||
'h,ob':['大伯子','大伯儿','大伯兄','伯子','伯仔','伯兄','阿伯','大伯爷','伯爷子','婿伯'],
|
||||
'h,ob,w':['大婶子','大婶儿','大叔兄妇','伯兄妇','伯嫂','伯妇','伯姆','姒妇','姒姆','大伯嫂','姆姆','大姆','大伯妇','大伯娘','姐妇','阿姆'],
|
||||
'h,lb':['小叔子','小叔儿','小叔弟','叔子','叔弟'],
|
||||
'h,lb':['小叔子','小叔儿','小叔弟','叔子','叔仔','叔弟','阿叔'],
|
||||
'h,lb,w':['小婶子','小婶儿','小叔弟妇','叔弟妇','叔嫂','叔妇','叔姆','娣妇','娣姆','小叔妇','婶婶','小婶','小叔妇','小婶婶'],
|
||||
'h,xb':['伯叔'],
|
||||
'h,[ob|lb]':['伯叔'],
|
||||
'h,xb,w':['妯娌','娣姒','娣姒姊妹','婶子'],
|
||||
'h,xb,s':['叔侄','叔侄男','叔男'],
|
||||
'h,xb,d':['叔侄女','叔女'],
|
||||
|
@ -82,27 +82,29 @@ var getOptimal = function(options){
|
||||
var from_match = from_chain[i].match(/&([ol\d]+)/);
|
||||
var to_match = to_chain[i].match(/&([ol\d]+)/);
|
||||
if(!from_match){
|
||||
from_match = from_chain[i].match(/([xol])[bs]/);
|
||||
from_match = from_chain[i].match(/([ol])[bs]/);
|
||||
}
|
||||
if(!to_match){
|
||||
to_match = to_chain[i].match(/([xol])[bs]/);
|
||||
to_match = to_chain[i].match(/([ol])[bs]/);
|
||||
}
|
||||
var from_attr = from_match?from_match[1]:'';
|
||||
var to_attr = to_match?to_match[1]:'';
|
||||
if(!isNaN(from_attr)&&!isNaN(to_attr)){
|
||||
if(from_attr>to_attr){
|
||||
if(from_attr&&to_attr){
|
||||
if(!isNaN(from_attr)&&!isNaN(to_attr)){
|
||||
if(+from_attr>+to_attr){
|
||||
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'lb').replace(/^[xol]s|^d/,'ls');
|
||||
}else if(+from_attr<+to_attr){
|
||||
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'ob').replace(/^[xol]s|^d/,'os');
|
||||
}
|
||||
}else if(!isNaN(from_attr)&&to_attr=='o'||from_attr=='l'&&!isNaN(to_attr)){
|
||||
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'lb').replace(/^[xol]s|^d/,'ls');
|
||||
}else if(from_attr<to_attr){
|
||||
}else if(!isNaN(from_attr)&&to_attr=='l'||from_attr=='o'&&!isNaN(to_attr)){
|
||||
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'ob').replace(/^[xol]s|^d/,'os');
|
||||
}
|
||||
}else if(!isNaN(from_attr)&&to_attr=='o'||from_attr=='l'&&!isNaN(to_attr)){
|
||||
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'lb').replace(/^[xol]s|^d/,'ls');
|
||||
}else if(!isNaN(from_attr)&&to_attr=='l'||from_attr=='o'&&!isNaN(to_attr)){
|
||||
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'ob').replace(/^[xol]s|^d/,'os');
|
||||
from = from_chain.slice(i).join(',');
|
||||
to = to_chain.slice(i+1).join(',');
|
||||
sex = to_chain[i].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;
|
||||
}
|
||||
from = from_chain.slice(i).join(',');
|
||||
to = to_chain.slice(i+1).join(',');
|
||||
sex = to_chain[i].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ var test = require('tape');
|
||||
var relationship = require('..');
|
||||
|
||||
test('relationship.js show to be tested', function (t) {
|
||||
// console.log('[test]',relationship({text:'大舅',target:'二舅的儿子'}));
|
||||
// console.log('[test]',relationship({text:'舅妈',target:'二舅',type:'pair'}));
|
||||
t.deepEqual(relationship({text:'儿子的爸爸的妈妈',sex:1}),['妈妈']);
|
||||
t.deepEqual(relationship({text:'爱人',sex:1}),['老婆']);
|
||||
t.deepEqual(relationship({text:'爱人的爱人',sex:1}),['自己']);
|
||||
@ -32,6 +32,7 @@ test('relationship.js show to be tested', function (t) {
|
||||
t.deepEqual(relationship({text:'爸爸的二哥'}),['二伯']);
|
||||
t.deepEqual(relationship({text:'二舅妈',target:'二舅',type:'pair'}),['夫妻']);
|
||||
t.deepEqual(relationship({text:'二舅妈',target:'大舅',type:'pair'}),['叔嫂']);
|
||||
t.deepEqual(relationship({text:'舅妈',target:'二舅',type:'pair'}),['叔嫂','夫妻']);
|
||||
t.deepEqual(relationship({text:'二舅妈',target:'三舅'}),['二嫂']);
|
||||
t.deepEqual(relationship({text:'爸爸的二爸'}),['二爷爷']);
|
||||
t.deepEqual(relationship({text:'大舅',target:'二舅的儿子'}),['大伯']);
|
||||
|
@ -670,8 +670,12 @@
|
||||
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,optimal:$optimal[0].checked});
|
||||
if($reverse[0].checked){
|
||||
var temp = target;
|
||||
target = person;
|
||||
person = temp;
|
||||
}
|
||||
var result = relationship({text:person,target:target,optimal:$optimal[0].checked});
|
||||
if(result.length){
|
||||
$result.value = result.join('\n');
|
||||
}else{
|
||||
|
Loading…
x
Reference in New Issue
Block a user