weak.js
3.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/**
* 找回密码
* @author: xuqi<qi.xu@yoho.cn>
* @date: 2015/12/14
*/
var $ = require('yoho-jquery');
var $pwd = $('#pwd'),
$repwd = $('#re-input'),
$next = $('#reset-pwd-btn'),
$pwdErr = $('#pwd-err'),
$repwdErr = $('#repwd-err'),
$titleTip = $('.title-tip'),
$waakRepwdTip = $('.waak-repwd-tip'),
$weakPwdPass = $('.weak-pwd-pass');
var pwdRegx = require('../common/mail-phone-regx').pwdValidateRegx;
require('yoho-jquery-placeholder');
require('../../simple-header');
// IE8 placeholder
$('input').placeholder();
$('.va').keyup(function() {
var pass = true;
if ($pwd.val() === '' || $repwd.val() === '') {
pass = false;
}
if (pass && !$pwdErr.is(':hidden')) {
pass = false;
}
if (pass && !$repwdErr.is(':hidden')) {
pass = false;
}
if (pass) {
$next.removeClass('disable').prop('disabled', false);
} else {
$next.addClass('disable').prop('disabled', true);
}
}).blur(function() {
var $this = $(this),
v = $this.val();
if ($this.hasClass('pwd')) {
if (v === '') {
$this.addClass('error');
$pwdErr.removeClass('hide').find('em').text('请输入密码');
}
} else {
if (v === '') {
$this.addClass('error');
$repwdErr.removeClass('hide').find('em').text('请输入密码确认');
} else if (v.length < 6 || v.length > 20) {
$this.addClass('error');
$repwdErr.removeClass('hide').find('em').text('密码只支持6-20位');
} else if (!pwdRegx.test(v)) {
$this.addClass('error');
$repwdErr.removeClass('hide').find('em').text('密码须字母和数字组合');
}
$waakRepwdTip.find('span').addClass('hide');
}
$(this).trigger('keyup');
}).focus(function() {
$(this).removeClass('error');
// focus后错误提示隐藏
if ($(this).hasClass('pwd')) {
$pwdErr.addClass('hide');
} else {
$repwdErr.addClass('hide');
$waakRepwdTip.find('span').removeClass('hide');
}
});
$('#pwd, #repwd').keydown(function(e) {
var code = e.keyCode || e.which;
// 空格输入过滤
if (code === 32) {
e.preventDefault();
return;
}
});
$next.on('click', function() {
var refer = $weakPwdPass.data('href') || '/';
var $this = $(this);
// is frequent click
if ($this.data('is-execu')) {
return true;
}
$this.data('is-execu', true);
$.post('/passport/back/modPwdByCodeAPI', {
oldPwd: $pwd.val(),
newPwd: $repwd.val()
}, function(d) {
$this.data('is-execu', false);
if (d.code === 200) {
document.location.href = '//www.yohobuy.com/passport/back/weakSuccess?refer=' + refer;
return true;
} else if (d.code === 402) {
// token is error
document.location.href = '//www.yohobuy.com/signin.html?refer=' + refer;
return true;
} else if (d.code === 401) {
// token is error
$pwdErr.removeClass('hide').find('em').text(d.message);
return true;
}
$titleTip.html(d.message);
});
});