鍍金池/ 問答/HTML5  HTML/ 如何判斷備注的長(zhǎng)度呢

如何判斷備注的長(zhǎng)度呢

后臺(tái)給的備注的長(zhǎng)度是string 20,也就是中文只能放6個(gè)字符,英文能放20個(gè)。我用maxlength限制的話,6就太小,20的話也有問題。放中文就報(bào)錯(cuò)了。所以我該怎么判斷這個(gè)字符串的長(zhǎng)度呢。漢字字符
英文字符
中文標(biāo)點(diǎn)
英文標(biāo)點(diǎn)
空格
這些在UTF-8里面各自占幾個(gè)字節(jié)。。我是不是只能把字符串拆分然后判斷里面英文幾個(gè)中文幾個(gè)中文標(biāo)點(diǎn)幾個(gè)英文標(biāo)點(diǎn)幾個(gè)空格幾個(gè)來判斷?

回答
編輯回答
吢涼

javascript 沒有原生支持計(jì)算字符串字節(jié)長(zhǎng)度的方法,但如果你清楚的知道你的字符串的字符編碼,比如是utf-8,那么你可以通過下面這個(gè)函數(shù)進(jìn)行計(jì)算。

function lengthInUtf8Bytes(str) {
  // Matches only the 10.. bytes that are non-initial characters in a multi-byte sequence.
  var m = encodeURIComponent(str).match(/%[89ABab]/g);
  return str.length + (m ? m.length : 0);
}
2018年5月30日 22:36
編輯回答
疚幼

如果中文、中文標(biāo)點(diǎn)算兩個(gè)英文字符的話,我這里倒是有個(gè)方法可以用

2018年8月30日 06:36