
function getLengthB(data) {
	var i, cnt = 0;
	for (i = 0; i < data.length; i++) {
		if (escape(data.charAt(i)).length >= 4) {
			if (escape(data.charAt(i)) >= "%uFF65" && escape(data.charAt(i)) <= "%uFF9F") {
				cnt++;
			} else {
				cnt += 3;
			}
		} else {
			cnt++;
		}
	}
	return cnt;
}

function getLengthB1(data) {
	return data.length;
}


/**
 * 检查文字UTF-8的长度
 * @param {Object} cName	控件名称
 * @param {Object} cText	控件描述
 * @param {Object} len		最大长度(数据库长度)
 */
function ckLenUTF8(cName, cText, len) {
	try {
		var arr = document.getElementsByName(cName);
		if(arr.length!=1) {
			alert('SYSTEM ERROR: 「'+cText+'」控件存在多个,不能使用此函数!');
			return;
		}
		if(arr[0].value.length>0) {
			var bl = getLengthB1(arr[0].value)>len;
			if(bl==true) {
				alert('「'+cText+'」超过长度限制!\r\n\r\n最大能输入\"'+len+'\"个汉字或\"'+len+'\"个数字及字母!');
				arr[0].focus();
				return;
			}
		}
		return true;
	}
	catch(e) {
		alert('[ckLenUTF8] '+e);
		return false;
	}
}

/**
 * 检查文字UTF-8的长度
 * @param {Object} val		值
 * @param {Object} cText	控件描述
 * @param {Object} len		最大长度(数据库长度)
 */
function ckValLenUTF8(val, cText, len) {
	try {
		if(val.length>0) {
			var bl = getLengthB(val)>len;
			if(bl==true) {
				alert('「'+cText+'」超过长度限制!\r\n\r\n最大能输入\"'+Math.round(len/3)+'\"个汉字或\"'+len+'\"个数字及字母!');
				return;
			}
		}
		return true;
	}
	catch(e) {
		alert('[ckValLenUTF8] '+e);
		return false;
	}
}

