Discuz 2.0 英文版 源码分析 一

这两天在折腾discuz 的英文版,发现2.0版本有不错的英文版,但是我们要求注册的时候密码长度有限制,搜索了很多,但是都没有找到合适,最后决定自己分析源码来操作,主要是两个文件。

1,$Id: static/js/lang_js.js 红色部分为新添加

//--------------------------------
//static/js/register.js

    'username_invalid'    : 'User name contains invalid characters',//'用户名包含敏感字符',
    'username_short'    : 'User name is shorter than 3 characters',//'用户名小于 3 个字符',
    'username_long'        : 'User name is longer than 15 characters',//'用户名超过 15 个字符',
    'password_short'    : 'Password is shorter than 6 characters',//'用户名小于 6 个字符',
    'password_long'        : 'Password is longer than 16 characters',//'用户名超过 15 个字符',
    'password_error'        : 'Password length must be in range of 6-16 characters',//'用户名超过 15 个字符',
    'passwords_not_equal'    : 'Two passwords does not match',//'两次输入的密码不一致',
    'email_invalid'        : 'Email contains invalid characters',//'Email 包含敏感字符',
    'invite_code_invalid'    : 'Invitation code contains invalid characters',//'邀请码包含敏感字符',
    'password_fill'        : 'Please fill the password',//'请填写密码',
    'password_again'    : 'Please enter the password again',//'请再次输入密码',
    'email_fill'        : 'Please enter email address',//'请输入邮箱地址',

2,static/js/register.js 使用jquery的正则表达式来做判断。

function checkpassword(id1, id2) {
    var patten = new RegExp(/^[a-zA-Z\d_]{6,16}$/);
    if(!$(id1).value && !$(id2).value) {
        return;
    }
    if(!patten.test($(id1).value)){
        errormessage(id1, lng['password_error']);
        return;
    }
    errormessage(id2);
    if($(id1).value != $(id2).value) {
        errormessage(id2, lng['passwords_not_equal']);
    } else {
        errormessage(id2, 'succeed');
    }
}

 

这样就完成了密码的验证,没有bug出现,大家有用的可以试试。

 

posted @ 2013-01-08 17:42  awinlei  阅读(434)  评论(0编辑  收藏  举报