...
|
...
|
@@ -83,14 +83,30 @@ validateResult = [ |
|
|
];
|
|
|
|
|
|
//手机号ajax校验
|
|
|
function phoneAjaxFn(callback) {
|
|
|
$.ajax({
|
|
|
url: '/passport/register/checkmobile',
|
|
|
type: 'POST',
|
|
|
data: {
|
|
|
function phoneAjaxFn(page, callback) {
|
|
|
var url,
|
|
|
data;
|
|
|
|
|
|
if (page === 'reg') {
|
|
|
url = '/passport/register/checkmobile';
|
|
|
data = {
|
|
|
mobile: $pn.val(),
|
|
|
area: $region.text().split('+')[1]
|
|
|
}
|
|
|
};
|
|
|
} else if (page === 'third') {
|
|
|
url = '/passport/autouserinfo/bindCheck';
|
|
|
data = {
|
|
|
mobile: $pn.val(),
|
|
|
area: $region.text().split('+')[1],
|
|
|
openId: 1,
|
|
|
sourceType: 'QQ'
|
|
|
};
|
|
|
}
|
|
|
|
|
|
$.ajax({
|
|
|
url: url,
|
|
|
type: 'POST',
|
|
|
data: data
|
|
|
}).then(function(data) {
|
|
|
switch (data.code) {
|
|
|
case 200:
|
...
|
...
|
@@ -108,10 +124,17 @@ function phoneAjaxFn(callback) { |
|
|
}
|
|
|
|
|
|
//图形验证码ajax校验
|
|
|
function picCaptchaAjaxFn(callback) {
|
|
|
function picCaptchaAjaxFn(page, callback) {
|
|
|
var url;
|
|
|
|
|
|
if (page === 'reg') {
|
|
|
url = '/passport/register/piccaptcha';
|
|
|
} else if (page === 'third') {
|
|
|
url = '/passport/autouserinfo/checkPicCode';
|
|
|
}
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: '/passport/register/piccaptcha',
|
|
|
url: url,
|
|
|
data: {
|
|
|
code: $ca.val(),
|
|
|
mobile: $pn.val(),
|
...
|
...
|
@@ -123,7 +146,7 @@ function picCaptchaAjaxFn(callback) { |
|
|
validateResult[1].message = '';
|
|
|
validateResult[1].status = true;
|
|
|
break;
|
|
|
case 404:
|
|
|
case 400:
|
|
|
validateResult[1].message = '图形验证码错误';
|
|
|
validateResult[1].status = false;
|
|
|
break;
|
...
|
...
|
@@ -133,10 +156,17 @@ function picCaptchaAjaxFn(callback) { |
|
|
}
|
|
|
|
|
|
//短信验证码ajax校验
|
|
|
function msgCaptchaAjaxFn(callback) {
|
|
|
function msgCaptchaAjaxFn(page, callback) {
|
|
|
var url;
|
|
|
|
|
|
if (page === 'reg') {
|
|
|
url = '/passport/register/msgcaptcha';
|
|
|
} else if (page === 'third') {
|
|
|
url = '/passport/autouserinfo/checkBindMsg';
|
|
|
}
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: '/passport/register/msgcaptcha',
|
|
|
url: url,
|
|
|
data: {
|
|
|
code: $ca.val(),
|
|
|
mobile: $pn.val(),
|
...
|
...
|
@@ -148,7 +178,7 @@ function msgCaptchaAjaxFn(callback) { |
|
|
validateResult[2].message = '';
|
|
|
validateResult[2].status = true;
|
|
|
break;
|
|
|
case 404:
|
|
|
case 400:
|
|
|
validateResult[2].message = '短信验证码错误';
|
|
|
validateResult[2].status = false;
|
|
|
break;
|
...
|
...
|
@@ -159,7 +189,7 @@ function msgCaptchaAjaxFn(callback) { |
|
|
}
|
|
|
|
|
|
// 验证
|
|
|
function validateRule($element, callback) {
|
|
|
function validateRule(page, $element, callback) {
|
|
|
|
|
|
var val = $.trim($element.val()),
|
|
|
regionCode;
|
...
|
...
|
@@ -181,7 +211,7 @@ function validateRule($element, callback) { |
|
|
callback();
|
|
|
|
|
|
} else {
|
|
|
phoneAjaxFn(callback);
|
|
|
phoneAjaxFn(page, callback);
|
|
|
}
|
|
|
|
|
|
//图形验证码校验
|
...
|
...
|
@@ -200,7 +230,7 @@ function validateRule($element, callback) { |
|
|
|
|
|
// 并且手机号正确
|
|
|
if (validateResult[0].status) {
|
|
|
picCaptchaAjaxFn(callback);
|
|
|
picCaptchaAjaxFn(page, callback);
|
|
|
} else {
|
|
|
validateResult[1].message = '图形验证码错误';
|
|
|
validateResult[1].status = false;
|
...
|
...
|
@@ -226,7 +256,7 @@ function validateRule($element, callback) { |
|
|
|
|
|
// 并且图形验证码正确
|
|
|
if (validateResult[1].status) {
|
|
|
msgCaptchaAjaxFn(callback);
|
|
|
msgCaptchaAjaxFn(page, callback);
|
|
|
} else {
|
|
|
validateResult[2].message = '短信验证码错误';
|
|
|
validateResult[2].status = false;
|
...
|
...
|
@@ -379,140 +409,169 @@ function pwdFn($obj) { |
|
|
|
|
|
// 失去焦点时开始校验
|
|
|
// Tips: 不可以在获得焦点的时候验证,获得焦点和失去焦点的间隔太小,如果中间存在ajax校验的话会出现问题
|
|
|
$registerPage.find('.va').keyup(function() {
|
|
|
// ( ▼-▼ )注册页和信息完善页面接口不同
|
|
|
exports.init = function(page) {
|
|
|
$registerPage.find('.va').keyup(function() {
|
|
|
|
|
|
var j,
|
|
|
statusLen = 0,
|
|
|
vLen = validateResult.length,
|
|
|
$that = $(this);
|
|
|
var j,
|
|
|
statusLen = 0,
|
|
|
vLen = validateResult.length,
|
|
|
$that = $(this);
|
|
|
|
|
|
validateRule($(this), function() {
|
|
|
showErrTip(); // 显示错误提示
|
|
|
showBorder(); // 显示红色边框
|
|
|
validateRule(page, $(this), function() {
|
|
|
showErrTip(); // 显示错误提示
|
|
|
showBorder(); // 显示红色边框
|
|
|
|
|
|
// 如果validateResult中有4个status为true表示验证通过
|
|
|
for (j = 0; j < vLen; j++) {
|
|
|
// 如果validateResult中有4个status为true表示验证通过
|
|
|
for (j = 0; j < vLen; j++) {
|
|
|
|
|
|
if (validateResult[j].status) {
|
|
|
if (validateResult[j].status) {
|
|
|
|
|
|
statusLen++;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
statusLen++;
|
|
|
}
|
|
|
|
|
|
if (statusLen === 4 && $('#agree-terms').is(':checked')) {
|
|
|
$registerBtn.removeClass('disable').removeAttr('disabled');
|
|
|
} else {
|
|
|
$registerBtn.addClass('disable').attr('disabled', 'true');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 图形验证通过时,发送短信按钮可点击
|
|
|
if (validateResult[1].status) {
|
|
|
$sendCaptcha.removeClass('disable');
|
|
|
} else {
|
|
|
$sendCaptcha.addClass('disable');
|
|
|
}
|
|
|
if (statusLen === 4 && $('#agree-terms').is(':checked')) {
|
|
|
$registerBtn.removeClass('disable').removeAttr('disabled');
|
|
|
} else {
|
|
|
$registerBtn.addClass('disable').attr('disabled', 'true');
|
|
|
}
|
|
|
|
|
|
//图形验证通过时,发送短信按钮可点击 end
|
|
|
// 图形验证通过时,发送短信按钮可点击
|
|
|
if (validateResult[1].status) {
|
|
|
$sendCaptcha.removeClass('disable');
|
|
|
} else {
|
|
|
$sendCaptcha.addClass('disable');
|
|
|
}
|
|
|
|
|
|
});
|
|
|
//图形验证通过时,发送短信按钮可点击 end
|
|
|
|
|
|
// 如果是密码则校验强度
|
|
|
if (($that).hasClass('pwd')) {
|
|
|
pwdFn($that);
|
|
|
}
|
|
|
|
|
|
}).blur(function() {
|
|
|
});
|
|
|
|
|
|
/*validateRule($(this), function() {
|
|
|
showErrTip();
|
|
|
showBorder(); // 显示红色边框
|
|
|
});*/
|
|
|
});
|
|
|
// 如果是密码则校验强度
|
|
|
if (($that).hasClass('pwd')) {
|
|
|
pwdFn($that);
|
|
|
}
|
|
|
|
|
|
$regionSelect.change(function() {
|
|
|
}).blur(function() {
|
|
|
|
|
|
$region.text('+' + $('#region').val());
|
|
|
/*validateRule($(this), function() {
|
|
|
showErrTip();
|
|
|
showBorder(); // 显示红色边框
|
|
|
});*/
|
|
|
});
|
|
|
|
|
|
validateRule($pn, showErrTip); //验证
|
|
|
});
|
|
|
$regionSelect.change(function() {
|
|
|
|
|
|
// 点击发送验证码
|
|
|
$sendCaptcha.click(function() {
|
|
|
var timeResidue = 10,
|
|
|
t;
|
|
|
$region.text('+' + $('#region').val());
|
|
|
|
|
|
if ($(this).hasClass('disable')) {
|
|
|
return;
|
|
|
}
|
|
|
validateRule(page, $pn, showErrTip); //验证
|
|
|
});
|
|
|
|
|
|
//todo ajax
|
|
|
// 点击发送验证码
|
|
|
$sendCaptcha.click(function() {
|
|
|
var timeResidue = 20,
|
|
|
t,
|
|
|
url;
|
|
|
|
|
|
t = setInterval(function() {
|
|
|
if (timeResidue <= 0) {
|
|
|
$sendCaptcha.removeClass('disable').val('获取短信验证码');
|
|
|
clearInterval(t);
|
|
|
if ($(this).hasClass('disable')) {
|
|
|
return;
|
|
|
}
|
|
|
$sendCaptcha.addClass('disable').val(timeResidue-- + '秒可重新发送');
|
|
|
}, 1000);
|
|
|
});
|
|
|
|
|
|
//form表单提交
|
|
|
$registerBtn.click(function() {
|
|
|
|
|
|
if ($(this).hasClass('disable')) {
|
|
|
return;
|
|
|
} else {
|
|
|
if (page === 'reg') {
|
|
|
url = '/passport/register/sendBindMsg';
|
|
|
} else if (page === 'third') {
|
|
|
url = '/passport/autouserinfo/sendBindMsg';
|
|
|
}
|
|
|
|
|
|
//ajax提交
|
|
|
//todo ajax 发送验证码
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: '/passport/register/mobileregister',
|
|
|
url: url,
|
|
|
data: {
|
|
|
area: $region.text().split('+')[1],
|
|
|
mobile: $pn.val(),
|
|
|
captcha: $ca.val(),
|
|
|
code: $mc.val(),
|
|
|
password: $pwd.val()
|
|
|
code: $ca.val()
|
|
|
}
|
|
|
}).then(function(data) {
|
|
|
if (data.code === 200) {
|
|
|
t = setInterval(function() {
|
|
|
if (timeResidue <= 0) {
|
|
|
$sendCaptcha.removeClass('disable').val('获取短信验证码');
|
|
|
clearInterval(t);
|
|
|
return;
|
|
|
}
|
|
|
$sendCaptcha.addClass('disable').val(timeResidue-- + '秒可重新发送');
|
|
|
}, 1000);
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
|
|
|
var time = 0,
|
|
|
t,
|
|
|
refer = data.href;
|
|
|
//ajax表单提交
|
|
|
$registerBtn.click(function() {
|
|
|
|
|
|
t = setTimeout(function() {
|
|
|
time++;
|
|
|
}, 1000);
|
|
|
var url;
|
|
|
|
|
|
if (page === 'reg') {
|
|
|
url = '/passport/register/mobileregister';
|
|
|
} else if (page === 'third') {
|
|
|
url = '/passport/autouserinfo/bindMobile';
|
|
|
}
|
|
|
|
|
|
if ($(this).hasClass('disable')) {
|
|
|
return;
|
|
|
} else {
|
|
|
|
|
|
//ajax提交
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: '/passport/register/mobileregister',
|
|
|
url: url,
|
|
|
data: {
|
|
|
session: data.session
|
|
|
area: $region.text().split('+')[1],
|
|
|
mobile: $pn.val(),
|
|
|
captcha: $ca.val(),
|
|
|
code: $mc.val(),
|
|
|
password: $pwd.val()
|
|
|
}
|
|
|
}).then(function(data) {
|
|
|
|
|
|
if (data.code === 200 && t < 3) {
|
|
|
var time = 0,
|
|
|
t,
|
|
|
refer = data.href;
|
|
|
|
|
|
t = setTimeout(function() {
|
|
|
time++;
|
|
|
}, 1000);
|
|
|
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: '/passport/register/mobileregister',
|
|
|
data: {
|
|
|
session: data.session
|
|
|
}
|
|
|
}).then(function(data) {
|
|
|
|
|
|
if (data.code === 200 && t < 3) {
|
|
|
clearInterval(t);
|
|
|
location.href = refer;
|
|
|
}
|
|
|
});
|
|
|
|
|
|
if (t >= 3) {
|
|
|
clearInterval(t);
|
|
|
location.href = refer;
|
|
|
}
|
|
|
});
|
|
|
|
|
|
if (t >= 3) {
|
|
|
clearInterval(t);
|
|
|
location.href = refer;
|
|
|
}
|
|
|
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
|
|
|
$('.change-captcha').click(function() {
|
|
|
var time = new Date(),
|
|
|
$captchaImg = $('.captcha-img'),
|
|
|
captchaImgSrc = $captchaImg.attr('src').split('?')[0];
|
|
|
$('.change-captcha').click(function() {
|
|
|
var time = new Date(),
|
|
|
$captchaImg = $('.captcha-img'),
|
|
|
captchaImgSrc = $captchaImg.attr('src').split('?')[0];
|
|
|
|
|
|
$captchaImg.attr('src', captchaImgSrc + '?t=' + time.getTime());
|
|
|
}); |
|
|
\ No newline at end of file |
|
|
$captchaImg.attr('src', captchaImgSrc + '?t=' + time.getTime());
|
|
|
});
|
|
|
}; |
|
|
\ No newline at end of file |
...
|
...
|
|