【React】正则,怎么获取字符串中最后一个或两个字符

是直接去掉姓,还是考虑更多情况根据名字的长度获取比较合理,比如,两个字的取最后一位,三个字及以上,取最后两位(最多就要两个字)

const name =[{1:"张三"},{2:"李四哥"},{3:"王二哥哥"}];

返回, 三 、四哥 、哥哥,这样的效果就ok

回答

之前在携厂的时候做过中英文名字转换的需求 当时是通过后端返回的
可以很负责的告诉你 这个需求是有问题的
之前做的时候lastname和firstname是用户分开填写的
不然的话 我就给你这么说 一个名字叫欧阳修的 你能知道他是姓欧还是姓欧阳吗?

第一种:

"王二弟弟".match(/.+(.{1,2})$/);

第二种:

'啥名字呵呵'.substr(1).substr(-2);
function getfirstName(name){

let LastNameMap = [...//百家姓]

LastNameMap.some(x=>{

let xing = new RegExp('^'+x)

if(name.match(xing)){

return name.replace(reg, '')

}

})

}

最好是让后端处理成 firstName + lastName 的形式

去掉姓无非就是保证姓名的私密性!个人感觉该需求应该更改成保留最后一个字,前面用*代替!

["张三", "李四哥", "王二哥哥"].map(s => s.slice(Math.max(-2, Math.floor(s.length / -2))))

【React】正则,怎么获取字符串中最后一个或两个字符

明确需求。
如果是需要获取名字的姓,那么需要分开填写。
只靠正则判断是无法确定获取出来的是姓还是名。特别是姓有两个字的时候。

以上是 【React】正则,怎么获取字符串中最后一个或两个字符 的全部内容, 来源链接: utcz.com/a/76146.html

回到顶部