2022-11-02 23:21:46 +08:00
|
|
|
|
/*
|
|
|
|
|
|
* @copyright Leyun internet Technology(Shanghai)Co.,Ltd
|
|
|
|
|
|
* @license http://www.dzzoffice.com/licenses/license.txt
|
|
|
|
|
|
* @package DzzOffice
|
|
|
|
|
|
* @link http://www.dzzoffice.com
|
|
|
|
|
|
* @author zyx(zyx@dzz.cc)
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
var profileTips = __lang.js_change_password;
|
|
|
|
|
|
|
|
|
|
|
|
function errormessage(el, msg,passlevel) {
|
|
|
|
|
|
if(el.length) {
|
|
|
|
|
|
msg = !msg ? '' : msg;
|
|
|
|
|
|
if(msg){
|
|
|
|
|
|
el.parent().find('.help-msg').removeClass('chk_right');
|
|
|
|
|
|
}else{
|
|
|
|
|
|
el.parent().find('.help-msg').addClass('chk_right');
|
|
|
|
|
|
}
|
|
|
|
|
|
el.parent().find('.help-msg').html(msg);
|
|
|
|
|
|
if(msg && !passlevel) el.parent().addClass('has-error');
|
|
|
|
|
|
else el.closest('.has-error').removeClass('has-error');
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function addFormEvent(formid, focus){
|
|
|
|
|
|
|
|
|
|
|
|
jQuery('#username').on('blur keyup', function () {
|
|
|
|
|
|
if(this.value == '') {
|
|
|
|
|
|
errormessage(jQuery(this), __lang.username_character);
|
|
|
|
|
|
}else{
|
|
|
|
|
|
checkusername(jQuery(this));
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
jQuery('#email').on('blur keyup', function () {
|
|
|
|
|
|
if(this.value == '') {
|
|
|
|
|
|
errormessage(jQuery(this), __lang.register_email_tips1);
|
|
|
|
|
|
}else{
|
|
|
|
|
|
checkemail(jQuery(this));
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
checkPwdComplexity(document.getElementById('password'), document.getElementById('password2'));
|
|
|
|
|
|
|
|
|
|
|
|
if(focus){
|
|
|
|
|
|
jQuery('#'+formid+' .form-control').first().focus();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function checkPwdComplexity(Obj1, Obj2, modify) {
|
|
|
|
|
|
modifypwd = modify || false;
|
|
|
|
|
|
var firstObj=jQuery(Obj1);
|
|
|
|
|
|
var secondObj=jQuery(Obj2);
|
|
|
|
|
|
|
|
|
|
|
|
firstObj.on('blur',function () {
|
|
|
|
|
|
if(firstObj.val() == '') {
|
|
|
|
|
|
var pwmsg = !modifypwd ? __lang.profile_passwd_illegal : profileTips;
|
|
|
|
|
|
if(pwlength > 0) {
|
|
|
|
|
|
pwmsg += ', '+__lang.register_password_length_tips1+pwlength+' '+__lang.register_password_length_tips2;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(!modify) errormessage(firstObj, pwmsg);
|
|
|
|
|
|
}else{
|
|
|
|
|
|
errormessage(firstObj, !modifypwd ? '' : profileTips);
|
|
|
|
|
|
}
|
|
|
|
|
|
checkpassword(firstObj, secondObj);
|
|
|
|
|
|
});
|
|
|
|
|
|
firstObj.on('keyup',function () {
|
|
|
|
|
|
if(pwlength == 0 || firstObj.val().length >= pwlength) {
|
|
|
|
|
|
var passlevels = new Array('',__lang.weak,__lang.center,__lang.strong);
|
|
|
|
|
|
var passlevel = checkstrongpw(firstObj);
|
|
|
|
|
|
|
|
|
|
|
|
errormessage(firstObj, '<span class="passlevel passlevel'+passlevel+'">'+__lang.intension+':'+passlevels[passlevel]+'</span>','passlevel');
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
secondObj.on('blur keyup', function () {
|
|
|
|
|
|
if(secondObj.val() == '') {
|
|
|
|
|
|
if(!modify){
|
|
|
|
|
|
errormessage(secondObj, !modifypwd ? __lang.register_repassword_tips : profileTips);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
checkpassword(firstObj, secondObj);
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function checkstrongpw(el) {
|
|
|
|
|
|
var passlevel = 0;
|
|
|
|
|
|
var val=el.val();
|
|
|
|
|
|
if(val && val.match(/\d+/g)) {
|
|
|
|
|
|
passlevel ++;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(val && val.match(/[a-z]+/ig)) {
|
|
|
|
|
|
passlevel ++;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(val && val.match(/[^a-z0-9]+/ig)) {
|
|
|
|
|
|
passlevel ++;
|
|
|
|
|
|
}
|
|
|
|
|
|
return passlevel;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function showbirthday(){
|
|
|
|
|
|
var el = document.getElementById('birthday');
|
|
|
|
|
|
var birthday = el.value;
|
|
|
|
|
|
el.length=0;
|
|
|
|
|
|
el.options.add(new Option('日', ''));
|
|
|
|
|
|
for(var i=0;i<28;i++){
|
|
|
|
|
|
el.options.add(new Option(i+1, i+1));
|
|
|
|
|
|
}
|
|
|
|
|
|
if(document.getElementById('birthmonth').value!="2"){
|
|
|
|
|
|
el.options.add(new Option(29, 29));
|
|
|
|
|
|
el.options.add(new Option(30, 30));
|
|
|
|
|
|
switch(document.getElementById('birthmonth').value){
|
|
|
|
|
|
case "1":
|
|
|
|
|
|
case "3":
|
|
|
|
|
|
case "5":
|
|
|
|
|
|
case "7":
|
|
|
|
|
|
case "8":
|
|
|
|
|
|
case "10":
|
|
|
|
|
|
case "12":{
|
|
|
|
|
|
el.options.add(new Option(31, 31));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
} else if(document.getElementById('birthyear').value!='') {
|
|
|
|
|
|
var nbirthyear=document.getElementById('birthyear').value;
|
|
|
|
|
|
if(nbirthyear%400==0 || (nbirthyear%4==0 && nbirthyear%100!=0)) el.options.add(new Option(29, 29));
|
|
|
|
|
|
}
|
|
|
|
|
|
el.value = birthday;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function trim(str) {
|
|
|
|
|
|
return str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function checksubmit(form) {
|
|
|
|
|
|
var p_chks = jQuery('#registerform').find('.has-error');
|
|
|
|
|
|
if(p_chks.length>0){
|
|
|
|
|
|
p_chks.first().find('input').focus();
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
ajaxpost('registerform', 'returnmessage4', 'returnmessage4');
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function check_submit(form){
|
|
|
|
|
|
//检测所有,没有.p_right的不允许提交;
|
|
|
|
|
|
var error=0;
|
|
|
|
|
|
jQuery(form).find('.help-msg').each(function(){
|
|
|
|
|
|
if(!jQuery(this).hasClass('chk_right')){
|
|
|
|
|
|
jQuery(this).parent().find('input').trigger('blur').focus();
|
|
|
|
|
|
error=1;
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
if(error) return false;
|
|
|
|
|
|
|
|
|
|
|
|
var url = jQuery(form).attr('action');
|
|
|
|
|
|
|
|
|
|
|
|
url = (url)? url:'user.php?mod=register';
|
|
|
|
|
|
|
|
|
|
|
|
var type = 'json';
|
|
|
|
|
|
|
|
|
|
|
|
jQuery.post(url+'&returnType='+type,jQuery(form).serialize(),function(json){
|
|
|
|
|
|
|
|
|
|
|
|
if(json.success){
|
|
|
|
|
|
location.href=json['success']['url_forward'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
jQuery('#returnmessage4').html(json['error']);
|
|
|
|
|
|
}
|
|
|
|
|
|
},'json');
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function checkusername(el) {
|
|
|
|
|
|
var username = trim(el.val());
|
|
|
|
|
|
if(username == '' || username == lastusername) {
|
|
|
|
|
|
errormessage(el);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(username.match(/<|\"/ig)) {
|
|
|
|
|
|
errormessage(el, __lang.profile_nickname_illegal);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(username){
|
|
|
|
|
|
var unlen = username.replace(/[^\x00-\xff]/g, "**").length;
|
|
|
|
|
|
if(unlen < 3 || unlen > 30) {
|
|
|
|
|
|
errormessage(el, __lang.username_character );
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jQuery.getJSON('user.php?mod=ajax&action=checkusername&username=' + encodeURI(username), function(json) {
|
|
|
|
|
|
errormessage(el, json.error||'');
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function checkpassword(el1, el2) {
|
|
|
|
|
|
if(!el1.val() && !el2.val()) {
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(pwlength > 0) {
|
|
|
|
|
|
if(el1.val().length < pwlength) {
|
|
|
|
|
|
errormessage(el1, __lang.password_too_short+' '+pwlength+' '+__lang.register_password_length_tips2);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if(strongpw) {
|
|
|
|
|
|
var strongpw_error = false, j = 0;
|
|
|
|
|
|
var strongpw_str = new Array();
|
|
|
|
|
|
for(var i in strongpw) {
|
|
|
|
|
|
if(strongpw[i] === 1 && !el1.val().match(/\d+/g)) {
|
|
|
|
|
|
strongpw_error = true;
|
|
|
|
|
|
strongpw_str[j] = __lang.strongpw_1;
|
|
|
|
|
|
j++;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(strongpw[i] === 2 && !el1.val().match(/[a-z]+/g)) {
|
|
|
|
|
|
strongpw_error = true;
|
|
|
|
|
|
strongpw_str[j] = __lang.strongpw_2;
|
|
|
|
|
|
j++;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(strongpw[i] === 3 && !el1.val().match(/[A-Z]+/g)) {
|
|
|
|
|
|
strongpw_error = true;
|
|
|
|
|
|
strongpw_str[j] = __lang.strongpw_3;
|
|
|
|
|
|
j++;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(strongpw[i] === 4 && !el1.val().match(/[^A-Za-z0-9]+/g)) {
|
|
|
|
|
|
strongpw_error = true;
|
|
|
|
|
|
strongpw_str[j] = __lang.strongpw_4;
|
|
|
|
|
|
j++;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if(strongpw_error) {
|
|
|
|
|
|
errormessage(el1, __lang.password_weak+' '+strongpw_str.join(','));
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
errormessage(el2);
|
|
|
|
|
|
if(el1.val() != el2.val()) {
|
|
|
|
|
|
errormessage(el2, __lang.profile_passwd_notmatch);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
errormessage(el2, !modifypwd ? '' : profileTips);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function checkemail(el) {
|
|
|
|
|
|
|
|
|
|
|
|
var email = trim(el.val());
|
|
|
|
|
|
if(email == '' || email == lastemail) {
|
|
|
|
|
|
errormessage(el);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(email.match(/<|\"/ig)) {
|
|
|
|
|
|
errormessage(el, __lang.Email_sensitivity);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
var isEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
|
|
|
|
|
|
if(!isEmail.test(email)) {
|
|
|
|
|
|
errormessage(el, __lang.email_illegal);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
jQuery.getJSON('user.php?mod=ajax&action=checkemail&email=' + email, function(json) {
|
|
|
|
|
|
errormessage(el, json.error||'');
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2023-02-06 20:10:06 +08:00
|
|
|
|
function addMailEvent(mailObj) {
|
2022-11-02 23:21:46 +08:00
|
|
|
|
|
2023-02-06 20:10:06 +08:00
|
|
|
|
mailObj.onclick = function (event) {
|
|
|
|
|
|
emailMenu(event, mailObj.id);
|
|
|
|
|
|
};
|
|
|
|
|
|
mailObj.onkeyup = function (event) {
|
|
|
|
|
|
emailMenu(event, mailObj.id);
|
|
|
|
|
|
};
|
|
|
|
|
|
mailObj.onkeydown = function (event) {
|
|
|
|
|
|
emailMenuOp(4, event, mailObj.id);
|
|
|
|
|
|
};
|
|
|
|
|
|
mailObj.onblur = function () {
|
|
|
|
|
|
if(mailObj.value == '') {
|
|
|
|
|
|
errormessage(mailObj.id, __lang.register_email_tips1);
|
|
|
|
|
|
}
|
|
|
|
|
|
emailMenuOp(3, null, mailObj.id);
|
|
|
|
|
|
};
|
|
|
|
|
|
stmp['email'] = mailObj.id;
|
|
|
|
|
|
}
|
|
|
|
|
|
var emailMenuST = null, emailMenui = 0, emaildomains = ['qq.com', '163.com', '126.com', 'sina.com', 'sohu.com', 'yahoo.com', 'gmail.com', 'hotmail.com'];
|
|
|
|
|
|
function emailMenuOp(op, e, id) {
|
|
|
|
|
|
if(op == 3 && BROWSER.ie && BROWSER.ie < 7) {
|
|
|
|
|
|
checkemail(id);
|
|
|
|
|
|
}
|
|
|
|
|
|
if(!$('emailmore_menu')) {
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(op == 1) {
|
|
|
|
|
|
$('emailmore_menu').style.display = 'none';
|
|
|
|
|
|
} else if(op == 2) {
|
|
|
|
|
|
showMenu({'ctrlid':'emailmore','pos': '13!'});
|
|
|
|
|
|
} else if(op == 3) {
|
|
|
|
|
|
emailMenuST = setTimeout(function () {
|
|
|
|
|
|
emailMenuOp(1, id);
|
|
|
|
|
|
checkemail(id);
|
|
|
|
|
|
}, 500);
|
|
|
|
|
|
} else if(op == 4) {
|
|
|
|
|
|
e = e ? e : window.event;
|
|
|
|
|
|
var obj = $(id);
|
|
|
|
|
|
if(e.keyCode == 13) {
|
|
|
|
|
|
var v = obj.value.indexOf('@') != -1 ? obj.value.substring(0, obj.value.indexOf('@')) : obj.value;
|
|
|
|
|
|
obj.value = v + '@' + emaildomains[emailMenui];
|
|
|
|
|
|
doane(e);
|
|
|
|
|
|
}
|
|
|
|
|
|
} else if(op == 5) {
|
|
|
|
|
|
var as = $('emailmore_menu').getElementsByTagName('a');
|
|
|
|
|
|
for(i = 0;i < as.length;i++){
|
|
|
|
|
|
as[i].className = '';
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function emailMenu(e, id) {
|
|
|
|
|
|
if(BROWSER.ie && BROWSER.ie < 7) {
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
e = e ? e : window.event;
|
|
|
|
|
|
var obj = $(id);
|
|
|
|
|
|
if(obj.value.indexOf('@') != -1) {
|
|
|
|
|
|
if($('emailmore_menu')) $('emailmore_menu').style.display = 'none';
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
var value = e.keyCode;
|
|
|
|
|
|
var v = obj.value;
|
|
|
|
|
|
if(!obj.value.length) {
|
|
|
|
|
|
emailMenuOp(1);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(value == 40) {
|
|
|
|
|
|
emailMenui++;
|
|
|
|
|
|
if(emailMenui >= emaildomains.length) {
|
|
|
|
|
|
emailMenui = 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
} else if(value == 38) {
|
|
|
|
|
|
emailMenui--;
|
|
|
|
|
|
if(emailMenui < 0) {
|
|
|
|
|
|
emailMenui = emaildomains.length - 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
} else if(value == 13) {
|
|
|
|
|
|
$('emailmore_menu').style.display = 'none';
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(!$('emailmore_menu')) {
|
|
|
|
|
|
menu = document.createElement('div');
|
|
|
|
|
|
menu.id = 'emailmore_menu';
|
|
|
|
|
|
menu.style.display = 'none';
|
|
|
|
|
|
menu.className = 'p_pop';
|
|
|
|
|
|
menu.setAttribute('disautofocus', true);
|
|
|
|
|
|
$('append_parent').appendChild(menu);
|
|
|
|
|
|
}
|
|
|
|
|
|
var s = '<ul class="dropdown-menu" style="display:block">';
|
|
|
|
|
|
for(var i = 0; i < emaildomains.length; i++) {
|
|
|
|
|
|
s += '<li><a href="javascript:;" onmouseover="emailMenuOp(5)" ' + (emailMenui == i ? 'class="a" ' : '') + 'onclick="$(stmp[\'email\']).value=this.innerHTML;display(\'emailmore_menu\');checkemail(stmp[\'email\']);">' + v + '@' + emaildomains[i] + '</a></li>';
|
|
|
|
|
|
}
|
|
|
|
|
|
s += '</ul>';
|
|
|
|
|
|
$('emailmore_menu').innerHTML = s;
|
|
|
|
|
|
|
|
|
|
|
|
emailMenuOp(2);
|
|
|
|
|
|
}
|
2022-11-02 23:21:46 +08:00
|
|
|
|
|