前言
这不是一篇正经的文章,但是或许对你有用.
用户名-只保留姓氏或中间字符特殊处理
需求
在做用户信息展示时,只需展示用户名姓,和最后一位,中间一位用*替代
方法 1:封装函数,利用substr截取字符串**
function formatName(name) {
let newStr;
if (name.length === 2) {
newStr = name.substr(0, 1) + '*'; // 通过substr截取字符串从第0位开始截取,截取1个
} else if (name.length > 2) {
// 当名字大于2位时
let char = '';
for (let i = 0, len = name.length - 2; i < len; i++) {
// 循环遍历字符串
char += '*';
}
newStr = name.substr(0, 1) + char + name.substr(-1, 1);
} else {
newStr = name;
}
return newStr;
}
console.log(formatName('王海龙')); // 输出 王*龙
复制代码
方法 2: 使用正则表达式,只保留姓后面都变为`***``
var str = '王小