JavaScript計算字串長度(含中文)
阿新 • • 發佈:2019-02-12
專案需求變更中有一個要求,就是在mini-textbox中,輸入的中文不能超過15個漢字,字元不可以超過30個。我用了miniUI自帶的vtype屬性,但是不好使,最後使用了一段JS程式碼進行了校驗,程式碼實現如下:
//計算字串長度包含中文
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var a = val.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null )
{
len += 2;
}
else
{
len += 1;
}
}
return len;
}
對上面的程式碼進行一下簡單的解釋,採用了正則表示式,迴圈遍歷字串,如果遇到中文字元,則length長度+2,否則長度+1。