//x = 字母一行的字符数比汉字一行的字符数 如: var x = 65/35
function getCharLengthByStr(str, x) {
var curLen = 0;
for (var i = 0; i < str.length; i++) {
var code = str.charCodeAt(i);
var pixelLen = code > 255 ? x : 1;
curLen += pixelLen;
}
return curLen;
}
// maxChar = 一行字母的长度
function getRowNumberByTextArea(str, enChars, cnChars) {
if (str == '') return 5;
var x = enChars / cnChars
var lines = str.split('\n');
var rowsNumber = 0;
for (var i = 0; i < lines.length; i++) {
var tempRows = Math.ceil(getCharLengthByStr(lines[i], x) / enChars);
rowsNumber += tempRows == 0 ? 1 : tempRows;
}
if (isIE()) return Math.ceil(rowsNumber * 1.4) + 2; //如需需要可把1.4参数提出去, 1.4 为ie下不同字体的放大倍数。需自信调整。
return rowsNumber+2; //默认加2行
}
// 判断是否为IE
function isIE () { //ie?
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
//获取textarea行数, 例如 textarea 默认一行可以为60个英文字符,或者35个汉字。
function getRowNumberByGWTextArea(str) {
return getRowNumberByTextArea(str, 65, 35);
}
{{o.name}}
{{m.name}}