js & regex & var & highlight
let key = `ali`.toLocaleUpperCase();
let name = "阿里云计算有限公司";
const getHighlightOthers = (name = ``, type = `prefix`) => {
let result = ``;
let prefix = 0;
let suffix = 0;
if (name && name.length) {
if (type === `prefix`) {
prefix = name.toLocaleUpperCase().indexOf(key);
if(prefix > 0) {
result = name.substr(0, prefix);
}
} else {
suffix = name.toLocaleUpperCase().lastIndexOf(key);
if(suffix > 0) {
result = name.substr(key.length);
} else {
result = name;
}
}
}
console.log(`result =`, result);
return result;
};
const getHighlightKeyword = (name = ``) => {
// null
let result = ``;
let prefix = 0;
if (name && name.length) {
prefix = name.toLocaleUpperCase().indexOf(key);
if(prefix > 0) {
result = name.substr(prefix, key.length);
}
}
console.log(`result =`, result);
return result;
};
getHighlightOthers(name, `prefix`);
getHighlightKeyword(name);
getHighlightOthers(name, `suffix`);
https://jscomplete.com/playground
bug
still bug
let key = `ali`.toLocaleUpperCase();
let name = "阿里云计算有限公司 alibaba";
const getHighlightOthers = (names = ``, type = `prefix`) => {
let name = names;
let result = ``;
let prefix = 0;
let suffix = 0;
if (name && name.length) {
if (type === `prefix`) {
prefix = name.toLocaleUpperCase().indexOf(key);
if(prefix > 0) {
result = name.substr(0, prefix);
}
} else {
suffix = name.toLocaleUpperCase().indexOf(key);
if(suffix > 0) {
// result = name.substr(key.length);
result = name.substr(suffix + key.length);
} else {
result = name;
}
}
}
console.log(`result =`, result, type);
return result;
};
const getHighlightKeyword = (name = ``) => {
// null
let result = ``;
let prefix = 0;
if (name && name.length) {
prefix = name.toLocaleUpperCase().indexOf(key);
if(prefix > 0) {
result = name.substr(prefix, key.length);
}
}
console.log(`result =`, result);
return result;
};
getHighlightOthers(name, `prefix`);
getHighlightKeyword(name);
getHighlightOthers(name, `suffix`);
zero bug
OK
let key = `ali`.toLocaleUpperCase();
// let name = "阿里云计算有限公司 alibaba";
let name = "AliOS"
const getHighlightOthers = (names = ``, type = `prefix`) => {
let name = names;
let result = ``;
let prefix = 0;
let suffix = 0;
if (name && name.length) {
if (type === `prefix`) {
prefix = name.toLocaleUpperCase().indexOf(key);
if(prefix >= 0) {
result = name.substr(0, prefix);
}
} else {
suffix = name.toLocaleUpperCase().indexOf(key);
if(suffix >= 0) {
result = name.substr(suffix + key.length);
} else {
result = name;
}
}
}
console.log(`result =`, result, type);
return result;
};
const getHighlightKeyword = (name = ``) => {
// null
let result = ``;
let prefix = 0;
if (name && name.length) {
prefix = name.toLocaleUpperCase().indexOf(key);
if(prefix >= 0) {
result = name.substr(prefix, key.length);
}
}
console.log(`result =`, result);
return result;
};
getHighlightOthers(name, `prefix`);
getHighlightKeyword(name);
getHighlightOthers(name, `suffix`);