function checkLength(obj, name, max)
{
var maxChars = max;
var ch_length = obj.value.length;
for(var i=Math.floor(maxChars/2); i<ch_length; i++)
{
var content = obj.value.substring(0,i);
if(content.replace(/([\u0391-\uFFE5])/ig,'11').length>=maxChars)
{
obj.value = obj.value.substring(0,i);
document.getElementById("ls_"+name).innerHTML = curr.toString(0);
break;
}
}
test = obj.value.replace(/([\u0391-\uFFE5])/ig,'11');
var curr = maxChars - test.length;
document.getElementById("ls_"+name).innerHTML = curr.toString();
}
{
var maxChars = max;
var ch_length = obj.value.length;
for(var i=Math.floor(maxChars/2); i<ch_length; i++)
{
var content = obj.value.substring(0,i);
if(content.replace(/([\u0391-\uFFE5])/ig,'11').length>=maxChars)
{
obj.value = obj.value.substring(0,i);
document.getElementById("ls_"+name).innerHTML = curr.toString(0);
break;
}
}
test = obj.value.replace(/([\u0391-\uFFE5])/ig,'11');
var curr = maxChars - test.length;
document.getElementById("ls_"+name).innerHTML = curr.toString();
}
if(content.replace(/([\u0391-\uFFE5])/ig,'11').length>=maxChars)
//如果是中文,替换成成11然后再获取长度,也就是中文算长度2
// 如果含有双字节字符(从 \u0391 至 \uFFE5 表示的双字节字符),则替换为 11,然后再计算字节长度!
if(content.replace(/([\u0391-\uFFE5])/ig,'11').length>=maxChars)
创建了一个不正确的 Unicode 转义序列。Unicode 转义序列以 \u 开头,后跟整整四位十六进制数(不多,也不少)。Unicode 十六进制数不仅包含数字 0-9,大写字母 A-F,还有小写字母 a-f。下面的示例演示了正确形成的 Unicode 转义序列。z = "\u1A5F";
要改正此错误 请确保 Unicode 十六进制数是以 \u 开头的,只包含数字0-9,大写字母 A-F、小写字母 a-f;并组成四个数字。
注意 如果希望在字符串中使用文字文本 t \u,请使用两个短斜杠 _(\\u) – 一个用来将第一个反斜杠转义。
Web 开发常用手册JScript语言参考.rar
http://download.csdn.net/source/308916DHTML参考手册.rar
http://download.csdn.net/source/308913样式表中文手册.chm
http://download.csdn.net/source/304124