function showtip(input, msg, valid) { var valid = valid || false; $(input).toggleClass('fail', !valid).closest('.line').toggleClass('invalid', !valid); if (!$(input).data('tip')) { $(input).next('.tip').css('display', 'none'); $(input).next('.tip').text(msg); if(msg) { $(input).next('.tip').css('display', 'inline-block'); } } else { $($(input).data('tip')).text(msg); } } var _timeout = null; function valid_usr(callback) { if (_timeout) { window.clearTimeout(_timeout); _xhr = null; } var $this = $(this).removeClass('fail'); var $container = $this.closest('div').removeClass('invalid'); _timeout = window.setTimeout(function () { if (!$.trim($('#username').val())) { $this.addClass('fail').data('valid', false).next('.tip').removeClass('succ').css('display', 'inline-block').text('请输入登录名'); $container.addClass('invalid'); } else { $this.next('.tip').addClass('no_bg').text('验证登录名...'); $.ajax('/Person/chkusr/', { data: 'usr=' + encodeURIComponent($this.val()) + '&_=' + +(new Date()) }).done(function (data) { if (!data.status) { $this.addClass('fail'); $container.addClass('invalid'); $this.next('.tip').removeClass('no_bg').removeClass('succ').css('display', 'inline-block'); }else{ $this.next('.tip').removeClass('no_bg').addClass('succ'); } $this.data('valid', !!data.status).next('.tip').text(data.info); if (callback) callback(data); }); } }, 500); } var mail_regex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i; var mobile_regex = /^[0-9]{11}$/; $(function () { $('#reg-form').bind('submit', function () { //showtip('#username', '', true); showtip('#password', '', true); showtip('#retype-password', '', true); showtip('#mobile', '', true); showtip('#mail', '', true); showtip('#verify', '', true); // if (!mail_regex.test($('#username').val())) { showtip('#username', '请输入E-mail地址'); } if (!$.trim($('#username').val())) { $('#username').data('valid', false); showtip('#username', '请输入登录名'); } else { var _valid_usr = !!$('#username').data('valid'); if (!_valid_usr) { $(this).data('disabled', true); valid_usr.call($('#username'), function (data) { if (!data.status) { $('#reg-form').data('disabled', false); } else { $('#reg-form').trigger('submit'); } }); } } var pwd, pwd2; if (!(pwd = $('#password').val())) { showtip('#password', '请输入密码'); } if (!(pwd2 = $('#retype-password').val())) { showtip('#retype-password', '请重复输入密码'); } if (pwd2 != pwd) { showtip('#retype-password', '密码不一致'); } if (!$('#mobile').val()) { showtip('#mobile', '请输入手机号'); } else if (!mobile_regex.test($('#mobile').val())) { showtip('#mobile', '请输入正确的手机号'); } if (!$('#mail').val()) { showtip('#mail', '请输入邮箱'); } else if (!mail_regex.test($('#mail').val())) { showtip('#mail', '请输入正确的邮箱地址'); } if (!$.trim($('#verify').val())) { $('#verify').parent().next('.tip').css('display', 'inline-block'); showtip('#verify', '请输入验证码'); } if(!$('#agree').is(':checked')) { $(this).next().next('.tip').css('display', 'inline-block').text('请您接受用户协议'); return false; } return $('#reg-form').find('.fail').length == 0 && _valid_usr; }); $('#reg-submit').click(function () { if (!$('#reg-form').data('disabled')) $('#reg-form').submit(); return false; }); $('#username').bind('keypress', function (e) { if (13 == e.keyCode) $('#password').focus(); }).bind('change', function (e) { $(this).data('valid', false); }).bind('keypress blur', function (e) { if (!$(this).data('valid')) valid_usr.call($('#username')); }); $('#verifyimg img, #refresh').click(function(){ $('#verifyimg img').attr('src', 'http://www.rcw0375.com/Company/verifyimg/?' + Date.parse(new Date())); }); $('#password').bind('focus', function () { showtip('#password', '', true); }).bind('keypress', function (e) { if (13 == e.keyCode) $('#retype-password').focus(); }); $('#retype-password').bind('focus', function () { showtip('#retype-password', '', true); }).bind('keypress', function (e) { if (13 == e.keyCode) $('#mobile').focus(); }); $('#mobile').bind('focus', function () { showtip('#mobile', '', true); }).bind('keypress', function (e) { if (13 == e.keyCode) $('#mail').focus(); }); $('#mail').bind('focus', function () { showtip('#mail', '', true); }).bind('keypress', function (e) { if (13 == e.keyCode) $('#verify').focus(); }); $('#verify').bind('focus', function () { $(this).parent().next('.tip').css('display', 'none'); showtip('#verify', '', true); }).bind('keypress', function (e) { if (13 == e.keyCode) $('#reg-submit').trigger('click'); }); $('#reg-form').find('input').not('#username').focus(function () { showtip(this, '', true); }); $('#agree').click(function(){ if(!$(this).is(':checked')){ $(this).next().next('.tip').css('display', 'inline-block').text('请您接受用户协议'); }else{ $(this).next().next('.tip').css('display', 'none').text(''); } }); });