簡(jiǎn)單判斷字符串長(zhǎng)度很簡(jiǎn)單炊汹,如果要區(qū)分中英文碍粥,例如1個(gè)中文字符等價(jià)于2個(gè)英文字符(等)突硝,可以使這正則做控制设拟,先看代碼:
if (name.replace(/[^\x00-\xff]/g, "**").length === 16) {
_this.pageview.showTip({text: '分類名稱長(zhǎng)度超過(guò)8個(gè)字符'});
return;
}
關(guān)鍵在于[^\x00-\xff]
, 其實(shí) 就是 \xnn 這個(gè)匹配, 對(duì)應(yīng)的也就是ASCII代碼中十六進(jìn)制代碼為nn的字符浴井,所以晒骇,[^\x00-\xff] 表示匹配非單字節(jié)的字符,例如漢字磺浙;單字節(jié)字符包括英文字母(符號(hào))厉碟、數(shù)字……
所以這里的正則思路,也就是將漢字等非單字節(jié)字符的替換為2個(gè)單字節(jié)字符屠缭,這樣統(tǒng)計(jì)的時(shí)候根據(jù)限制的數(shù)目*2就可以了。