1. 程式人生 > >JavaScript計算字串長度(含中文)

JavaScript計算字串長度(含中文)

專案需求變更中有一個要求,就是在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。