UNPKG

lixin-web

Version:

vue and bootstrap

239 lines (209 loc) 5.83 kB
$(document).ready(function() { // 初始化变量 var registForm = $('.regist > .form'); var username = registForm.find('input[name="username"]'); var nickname = registForm.find('input[name="nickname"]'); var email = registForm.find('input[name="email"]'); var password1 = registForm.find('input[name="password1"]'); var password2 = registForm.find('input[name="password2"]'); var registCode = App.getUrl('registCode'); var securityCode = registForm.find('input[name="securityCode"]'); var codeImage = securityCode.parents('.value').find('img'); var registBtn = registForm.find('input[name="regist"]'); var codeImage01 = registForm.find('.form-control .value .refreshi'); // 计算字符长度 var len = function(s) { var l = 0; for (var i = 0; i < s.length; i++) { l += s.charCodeAt(i) > 255 ? 2 : 1; } return l; } // 验证昵称 var testNickname = function(s) { var l = len(s); if(l >= 4 && l <= 12) { return true; } return false; } var checkNameExist = function(s) { error(username, '正在检测中...'); Will.ajax({username: s},'/api/account/check-username-exist', function(response){ if(response == true) { error(username, '用户名已存在!'); } else { success(username, '填写正确。'); } }); } // 验证用户名 var testUsername = function(s) { var regex = /^[a-zA-Z]{1}([a-zA-Z0-9]|[_]){5,11}$/; if(regex.test(s)) { return true; } return false; } // 验证邮箱 var testEmail = function(s) { var regex = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/; if(regex.test(s)) { return true; } return false; } // 验证密码 var testPassword = function(s) { var regex = /^(\w){6,20}$/; if(regex.test(s)) { return true; } return false; } var error = function(els, msg) { $(els).parents('.value').find('.help-inline').removeClass('success').addClass('error').html('<i></i>' + msg); } var success = function(els, msg) { $(els).parents('.value').find('.help-inline').removeClass('error').addClass('success').html('<i></i>' + msg); } var validateUsername = function() { if(username.val() == '') { error(username, '用户名不能为空!'); return false; } if(!testUsername(username.val())) { error(username, '6-12位首字母开头不能包含特殊字符。'); return false; } checkNameExist(username.val()); return true; } username.bind('blur', function() { validateUsername(); }); var validateNickname = function() { if(nickname.val() == '') { error(nickname, '用户昵称不能为空!'); return false; } if(!testNickname(nickname.val())) { error(nickname, '4-12个字符或2-6个中文汉字。'); return false; } success(nickname, '填写正确。'); return true; } nickname.bind('blur', function() { validateNickname(); }); var validateEmail = function() { if(email.val() == '') { return true; } if(!testEmail(email.val())) { error(email, '请填写正确的邮箱例如:lixinyule@gmail.com'); return false; } success(email, '填写正确。'); return true; } email.bind('blur', function() { validateEmail(); }); var validatePwd1 = function() { if(password1.val() == '') { error(password1, '密码不能为空!'); return false; } if(!testPassword(password1.val())) { error(password1, '6-20位字母、数字或者下划线。'); return false; } success(password1, '填写正确。'); return true; } password1.bind('blur', function() { validatePwd1(); }); var validatePwd2 = function() { if(password2.val() == '') { error(password2, '请重复上面输入的密码。'); return false; } if(password1.val() != password2.val()) { error(password2, '密码不一致,请注意大小写!'); return false; } success(password2, '填写正确。'); return true; } password2.bind('blur', function() { validatePwd2(); }); password2.bind('paste', function() { return false; }); // var _registCode = App.getUrl('registCode'); // if (_registCode) { // registCode.val(_registCode).attr('readonly', true); // } var validateCode = function() { if(securityCode.val() == '') { Will.error('请填写验证码。'); return false; } return true; } securityCode.bind('blur', function() { validateCode(); }); // 刷新验证码 var refreshCode = function() { codeImage.attr('src', '/api/utils/regist-security-code?' + new Date().getTime()); } // 验证码点击事件 codeImage.click(function() { refreshCode(); }); codeImage01.click(function() { refreshCode(); }); // 注册按钮点击事件 registBtn.click(function() { if(validateUsername() && validateNickname() && validatePwd1() && validatePwd2() && validateCode() && validateEmail()) { handleRegist(); } }); var handleRegist = function() { var data = { username: username.val(), password: password1.val(), nickname: nickname.val(), email: email.val(), registCode: registCode, securityCode: securityCode.val() } Will.ajax(data,'/api/regist', function(datas){ // App.confirm('success', '消息提示', '注册成功,是否立即登录?', 10000, '立即登录', '关闭', function() { // MainCtrl.logout({ // success: function() { // window.location.href = window.location.protocol + '//' + window.location.host + '/login.html'; // } // }); // }); Will.question('注册成功,是否立即登录?',[{label:'立即登录',action:function(){ MainCtrl.logout({ success: function() { window.location.href = window.location.protocol + '//' + window.location.host + '/login.html'; } }); }}]); },function(dataa,res){ // refreshCode(); Will.error(res.message); } ) } })