鍍金池/ 問答/HTML/ 正則,怎么獲取字符串中最后一個或兩個字符

正則,怎么獲取字符串中最后一個或兩個字符

是直接去掉姓,還是考慮更多情況根據(jù)名字的長度獲取比較合理,比如,兩個字的取最后一位,三個字及以上,取最后兩位(最多就要兩個字)

const name =[{1:"張三"},{2:"李四哥"},{3:"王二哥哥"}];
返回, 三 、四哥 、哥哥,這樣的效果就ok
回答
編輯回答
尛憇藌

去掉姓無非就是保證姓名的私密性!個人感覺該需求應(yīng)該更改成保留最后一個字,前面用*代替!

2017年5月15日 14:34
編輯回答
傻丟丟

之前在攜廠的時候做過中英文名字轉(zhuǎn)換的需求 當(dāng)時是通過后端返回的
可以很負(fù)責(zé)的告訴你 這個需求是有問題的
之前做的時候lastname和firstname是用戶分開填寫的
不然的話 我就給你這么說 一個名字叫歐陽修的 你能知道他是姓歐還是姓歐陽嗎?

2018年4月1日 01:55
編輯回答
風(fēng)清揚(yáng)

明確需求。
如果是需要獲取名字的姓,那么需要分開填寫。
只靠正則判斷是無法確定獲取出來的是姓還是名。特別是姓有兩個字的時候。

2017年1月20日 04:49
編輯回答
終相守

第一種:

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

第二種:

'啥名字呵呵'.substr(1).substr(-2);
2018年4月6日 12:35
編輯回答
嘟尛嘴
function getfirstName(name){
    let LastNameMap = [...//百家姓]
    LastNameMap.some(x=>{
        let xing = new RegExp('^'+x)
        if(name.match(xing)){
            return name.replace(reg, '')
        }
    })
}

最好是讓后端處理成 firstName + lastName 的形式

2018年7月13日 16:27
編輯回答
遲月
["張三", "李四哥", "王二哥哥"].map(s => s.slice(Math.max(-2, Math.floor(s.length / -2))))

clipboard.png

2017年10月3日 19:04