Advertisement
Guest User

Untitled

a guest
Dec 14th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. $(document).ready(function ($) {
  2.  
  3. var formField = $("#register_form");
  4. var logField = $("#register-error-log");
  5. var usernameField = $("#username_field");
  6. var passwordField = $("#password_field");
  7. var verifyField = $("#verify_field");
  8. var emailField = $("#email_field");
  9.  
  10. var usernameExists = false;
  11. var emailExists = false;
  12.  
  13. formField.submit(function (event) {
  14.  
  15. event.preventDefault();
  16.  
  17. $.ajax({
  18.  
  19. type:'GET',
  20. url:'/player/register',
  21. data: {'username':usernameField.val(), 'email':emailField.val()},
  22. success: function (data) {
  23. usernameExists = data['username_exists'];
  24. emailExists = data['email_exists'];
  25. },
  26. error: function (data) {
  27. alert(data['error']);
  28. }
  29.  
  30. });
  31.  
  32. $(document).ajaxComplete( function () {
  33. var validPassword = validatePassword();
  34. var validUsername = validateUsername();
  35. var validEmail = validateEmail();
  36.  
  37. if (validPassword && validUsername && validEmail) {
  38. formField.unbind('submit');
  39. formField.submit();
  40. } else {
  41. event.preventDefault();
  42. }
  43. });
  44.  
  45. });
  46.  
  47. function validatePassword() {
  48. if (hasNumber(passwordField.val()) && hasUpper(passwordField.val()) &&
  49. hasLower(passwordField.val()) && hasSpecial(passwordField.val()) && passwordField.val() === verifyField.val()) {
  50. $("#password_log").remove();
  51.  
  52. return true;
  53. } else {
  54. if ($("#password_log").length === 0)
  55. 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> ");
  56. return false;
  57. }
  58. }
  59.  
  60. function validateUsername() {
  61. if (usernameField.val().length >= 5 && !usernameExists) {
  62. $("#username_log").remove();
  63.  
  64. return true;
  65. } else {
  66. if ($("#username_log").length === 0) {
  67. logField.append(" <p id='username_log'> - Your username must contain at least 5 characters and must be unique! </p> ");
  68. }
  69.  
  70. return false;
  71. }
  72. }
  73.  
  74. function validateEmail() {
  75. if (testEmail(emailField.val()) && !emailExists) {
  76. $("#email_log").remove();
  77.  
  78. return true;
  79. } else {
  80. if ($("#email_log").length === 0) {
  81. logField.append(" <p id='email_log'> - Your email is not formatted correctly or already used! </p> ");
  82. }
  83.  
  84. return false;
  85. }
  86. }
  87.  
  88. });
  89.  
  90. function hasNumber(s) {
  91. var regex = /\d/g;
  92. return regex.test(s);
  93. }
  94.  
  95. function hasUpper(s) {
  96. return (/[A-Z]/.test(s));
  97. }
  98.  
  99. function hasLower(s) {
  100. return (/[A-Z]/.test(s));
  101. }
  102.  
  103. function hasSpecial(s) {
  104. var format = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/;
  105. return format.test(s);
  106. }
  107.  
  108. function testEmail(s) {
  109. var format = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
  110. return format.test(s.toLowerCase());
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement