Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $(document).ready(function ($) {
- var formField = $("#register_form");
- var logField = $("#register-error-log");
- var usernameField = $("#username_field");
- var passwordField = $("#password_field");
- var verifyField = $("#verify_field");
- var emailField = $("#email_field");
- var usernameExists = false;
- var emailExists = false;
- formField.submit(function (event) {
- event.preventDefault();
- $.ajax({
- type:'GET',
- url:'/player/register',
- data: {'username':usernameField.val(), 'email':emailField.val()},
- success: function (data) {
- usernameExists = data['username_exists'];
- emailExists = data['email_exists'];
- },
- error: function (data) {
- alert(data['error']);
- }
- });
- $(document).ajaxComplete( function () {
- var validPassword = validatePassword();
- var validUsername = validateUsername();
- var validEmail = validateEmail();
- if (validPassword && validUsername && validEmail) {
- formField.unbind('submit');
- formField.submit();
- } else {
- event.preventDefault();
- }
- });
- });
- function validatePassword() {
- if (hasNumber(passwordField.val()) && hasUpper(passwordField.val()) &&
- hasLower(passwordField.val()) && hasSpecial(passwordField.val()) && passwordField.val() === verifyField.val()) {
- $("#password_log").remove();
- return true;
- } else {
- if ($("#password_log").length === 0)
- logField.append(" <p id='password_log'> - Your password must contain at least one special character, one number and one upper and lower alphabetic character! Also make sure that your password is equal in the verify field! </p> ");
- return false;
- }
- }
- function validateUsername() {
- if (usernameField.val().length >= 5 && !usernameExists) {
- $("#username_log").remove();
- return true;
- } else {
- if ($("#username_log").length === 0) {
- logField.append(" <p id='username_log'> - Your username must contain at least 5 characters and must be unique! </p> ");
- }
- return false;
- }
- }
- function validateEmail() {
- if (testEmail(emailField.val()) && !emailExists) {
- $("#email_log").remove();
- return true;
- } else {
- if ($("#email_log").length === 0) {
- logField.append(" <p id='email_log'> - Your email is not formatted correctly or already used! </p> ");
- }
- return false;
- }
- }
- });
- function hasNumber(s) {
- var regex = /\d/g;
- return regex.test(s);
- }
- function hasUpper(s) {
- return (/[A-Z]/.test(s));
- }
- function hasLower(s) {
- return (/[A-Z]/.test(s));
- }
- function hasSpecial(s) {
- var format = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/;
- return format.test(s);
- }
- function testEmail(s) {
- var format = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
- return format.test(s.toLowerCase());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement