Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

\static\js\common.js

[复制链接]
songold 发表于 2013-4-26 18:12:15 | 显示全部楼层 |阅读模式
本帖最后由 songold 于 2013-4-26 20:34 编辑

\static\js\common.js

2043行

function strLenCalc(obj, checklen, maxlen) {
        var v = obj.value, charlen = 0, maxlen = !maxlen ? 200 : maxlen, curlen = maxlen, len = strlen(v);
        for(var i = 0; i < v.length; i++) {
                if(v.charCodeAt(i) < 0 || v.charCodeAt(i) > 255) {
                        curlen -= charset == 'utf-8' ? 2 : 1;
                }
        }
        if(curlen >= len) {
                $(checklen).innerHTML = curlen - len;
        } else {
                obj.value = mb_cutstr(v, maxlen, 0);
        }
}



计算字符串长度的代码有问题。



经测试,strlen() 函数,一个汉字返回 1 个长度,一个半角英文或标点也是返回 1 个长度。

所以根本没必要做 curlen -= 的处理!

评分

1

查看全部评分

回复

使用道具 举报

 楼主| songold 发表于 2013-4-26 20:45:59 | 显示全部楼层

\static\js\common.js

本帖最后由 songold 于 2013-4-26 20:51 编辑


在打开编辑界面时,还可输入的字符数,也不符合逻辑。标题本身已经有若干字符了,怎么可以说“还”可输入80个字符呢?

我的已经自己改好,欢迎来体验:http://songold.cn/T/forum-251-1.html


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

otherbank 发表于 2013-4-26 21:06:50 | 显示全部楼层
感谢反馈,我们处理这个字符计算的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-10 05:49 , Processed in 0.124093 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表