在http://www.jb51.net/article/45095.htm这里学习JS的时候,发现了一个错误,就是当JS程序用于跟中文有关的,必须在头文件那里加上<meta>修改字符编码
错误前:
<html>
<script type="text/javascript">
var zfl = {};
zfl.GetLength = function(str){
var realLength = 0;
var len = str.length;
var charCode = -1;
for(var i=0;i<len;i++){
charCode = str.charCodeAt(i);
if (charCode > 0 && charCode <= 128){
realLength += 1;
} else {
realLength += 2;
}
}
return realLength;
}
alert(zfl.GetLength("中文abc 123.")); //14(结果应该是12的)
</script>
</html>
纠正后:
<html>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript">
var zfl = {};
zfl.GetLength = function(str){
var realLength = 0;
var len = str.length;
var charCode = -1;
for(var i=0;i<len;i++){
charCode = str.charCodeAt(i);
if (charCode > 0 && charCode <= 128){
realLength += 1;
} else {
realLength += 2;
}
}
return realLength;
}
alert(zfl.GetLength("中文abc 123.")); //12
</script>
</html>
so,以后涉及到中文字,最后在头文件加上修改字符编码的代码