Advertisement
Guest User

Untitled

a guest
Dec 29th, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var first_name = false;
  2. var last_name = false;
  3. var username = false;
  4. var email = false;
  5. var password = false;
  6. var repeat_password = false;
  7. /**
  8.  *
  9.  * @param {type} firstName
  10.  * @returns {undefined}
  11.  */
  12. var firstNameValidator = function (firstName) {
  13.  
  14.     firstName = firstName.trim();
  15.     var firstName_field = document.getElementsByName('first_name')[0];
  16.     var sign = document.getElementById('first_name_sign');
  17.     if (firstName.length != 0) {
  18.  
  19.         first_name = true;
  20.         firstName_field.style.borderColor = '#4ef442';
  21.         sign.innerHTML = ' ✔';
  22.         sign.style.color = '#4ef442';
  23.     } else {
  24.  
  25.         first_name = false;
  26.         firstName_field.style.borderColor = '#fc0000';
  27.         sign.innerHTML = ' ✖';
  28.         sign.style.color = '#fc0000';
  29.     }
  30. };
  31. /**
  32.  *
  33.  * @param {type} str
  34.  * @returns {undefined}
  35.  */
  36. var lastNameValidator = function (lastName) {
  37.  
  38.     lastName = lastName.trim();
  39.     var sign = document.getElementById('last_name_sign');
  40.     var lastName_field = document.getElementsByName('last_name')[0];
  41.     if (lastName.length != 0) {
  42.  
  43.         last_name = true;
  44.         lastName_field.style.borderColor = "#4ef442";
  45.         sign.innerHTML = ' ✔';
  46.         sign.style.color = '#4ef442';
  47.     } else {
  48.  
  49.         last_name = false;
  50.         lastName_field.style.borderColor = "#fc0000";
  51.         sign.innerHTML = ' ✖';
  52.         sign.style.color = '#fc0000';
  53.     }
  54. };
  55. /**
  56.  *
  57.  * @param {type} str
  58.  * @returns {undefined}
  59.  */
  60. var userNameValidator = function (usernameValue) {
  61.  
  62.     var usernameField = document.getElementsByName('username')[0];
  63.     var sign = document.getElementById('username_sign');
  64.     var usernameMsg = document.getElementById('username_msg');
  65.     if (usernameValue.indexOf('@') !== -1 ||
  66.             usernameValue.indexOf('$') !== -1 ||
  67.             usernameValue.indexOf('%') !== -1 ||
  68.             usernameValue.indexOf('&') !== -1 ||
  69.             usernameValue.indexOf('*') !== -1 ||
  70.             usernameValue.indexOf('!') !== -1 ||
  71.             usernameValue.indexOf('#') !== -1 ||
  72.             usernameValue.indexOf('^') !== -1 ||
  73.             usernameValue.indexOf('(') !== -1 ||
  74.             usernameValue.indexOf(')') !== -1 ||
  75.             usernameValue.indexOf(' ') !== -1) {
  76.  
  77.         username = false;
  78.         usernameField.style.borderColor = '#fc0000';
  79.         sign.innerHTML = ' ✖';
  80.         sign.style.color = '#fc0000';
  81.         usernameMsg.innerHTML = ' (cannot contains special character \'@\', \'$\', \'%\', or space)';
  82.         usernameMsg.style.color = '#fc0000';
  83.         usernameMsg.style.visibility = 'visible';
  84.     } else if (usernameValue.trim().length < 5) {
  85.  
  86.         usernameMsg.innerHTML = ' (at least 5 character long)';
  87.         usernameMsg.style.color = '#fc0000';
  88.         usernameMsg.style.visibility = 'visible';
  89.         usernameField.style.borderColor = "#fc0000";
  90.         sign.innerHTML = ' &#x2716;';
  91.         sign.style.color = '#fc0000';
  92.         username = false;
  93.     } else {
  94.  
  95.         usernameValue = usernameValue.trim();
  96.         var xhttp = new XMLHttpRequest();
  97.         xhttp.onreadystatechange = function () {
  98.             if (this.readyState == 4 && this.status == 200) {
  99.  
  100.                 var result = JSON.parse(this.responseText);
  101.                 if (result.wrong_param == 'false' && result.user == 'false') {
  102.  
  103.                     usernameMsg.style.visibility = 'hidden';
  104.                     usernameField.style.borderColor = "#4ef442";
  105.                     sign.innerHTML = ' &#x2714;';
  106.                     sign.style.color = '#4ef442';
  107.                     username = true;
  108.                 } else {
  109.  
  110.                     usernameMsg.innerHTML = ' User already exist';
  111.                     usernameMsg.style.color = '#fc0000';
  112.                     usernameMsg.style.visibility = 'visible';
  113.                     usernameField.style.borderColor = "#fc0000";
  114.                     sign.innerHTML = ' &#x2716;';
  115.                     sign.style.color = '#fc0000';
  116.                     username = false;
  117.                 }
  118.             }
  119.         };
  120.         var param = "username=" + usernameValue;
  121.         xhttp.open("GET", "getuser?" + param, true);
  122.         xhttp.send();
  123.     }
  124.  
  125.     usernameField.value = usernameField.value.trim();
  126. };
  127. /**
  128.  *
  129.  * @param {type} str
  130.  * @returns {undefined}
  131.  */
  132. var emailValidator = function (emailValue) {
  133.  
  134.     var emailField = document.getElementsByName('email')[0];
  135.     var sign = document.getElementById('email_sign');
  136.     var emailMsg = document.getElementById('email_msg');
  137.     if (emailValue !== '') {
  138.  
  139.         if (emailValue.indexOf('@') !== -1) {
  140.  
  141.             var filter = /^\w+@[a-zA-Z_]+?([.][a-zA-Z]{2,3}){1,3}$/;
  142.             if (filter.test(emailValue)) {
  143.  
  144.                 var xhttp = new XMLHttpRequest();
  145.                 xhttp.onreadystatechange = function () {
  146.                     if (this.readyState == 4 && this.status == 200) {
  147.  
  148.                         var result = JSON.parse(this.responseText);
  149.                         if (result.wrong_param === 'false' && result.email === 'false') {
  150.  
  151.                             emailField.style.borderColor = '#4ef442';
  152.                             sign.innerHTML = ' &#x2714;';
  153.                             sign.style.color = '#4ef442';
  154.  
  155.                             email = true;
  156.                         } else {
  157.  
  158.                             emailField.style.borderColor = '#fc0000';
  159.                             sign.innerHTML = ' &#x2716;';
  160.                             sign.style.color = '#fc0000';
  161.  
  162.                             email = false;
  163.                         }
  164.                     }
  165.                 };
  166.                 var param = "username=" + usernameValue;
  167.                 xhttp.open("GET", "getuser?" + param, true);
  168.                 xhttp.send();
  169.             } else {
  170.  
  171.                 emailField.style.borderColor = '#fc0000';
  172.                 sign.innerHTML = ' &#x2716;';
  173.                 sign.style.color = '#fc0000';
  174.  
  175.                 email = false;
  176.             }
  177.         }
  178.     } else {
  179.  
  180.         emailField.style.borderColor = '#fc0000';
  181.         sign.innerHTML = ' &#x2716;';
  182.         sign.style.color = '#fc0000';
  183.         email = false;
  184.     }
  185. };
  186. /**
  187.  *
  188.  * @param {type} str
  189.  * @returns {undefined}
  190.  */
  191. var passwordValidator = function (passwordValue) {
  192.  
  193.     var passwordLengthMsg = document.getElementById('password_length_msg');
  194.     var passwordField = document.getElementsByName('password')[0];
  195.     var sign = document.getElementById('password_sign');
  196.     if (passwordValue.length < 8) {
  197.  
  198.         password = false;
  199.         passwordField.style.borderColor = '#fc0000';
  200.         sign.innerHTML = ' &#x2716;';
  201.         sign.style.color = '#fc0000';
  202.         passwordLengthMsg.innerHTML = ' (at least 8 character long)';
  203.         passwordLengthMsg.style.color = '#fc0000';
  204.         passwordLengthMsg.style.visibility = 'visible';
  205.     } else {
  206.  
  207.         password = true;
  208.         passwordField.style.borderColor = '#4ef442';
  209.         sign.innerHTML = ' &#x2714;';
  210.         sign.style.color = '#4ef442';
  211.         passwordLengthMsg.style.visibility = 'hidden';
  212.     }
  213.  
  214.     var repeatPasswordValue = document.getElementsByName('repeat_password')[0].value;
  215.     repeatPasswordValidator(repeatPasswordValue);
  216. };
  217. /**
  218.  *
  219.  * @param {type} str
  220.  * @returns {undefined}
  221.  */
  222. var repeatPasswordValidator = function (repeatPasswordValue) {
  223.  
  224.     var repeatPasswordField = document.getElementsByName('repeat_password')[0];
  225.     var sign = document.getElementById('repeat_password_sign');
  226.     var passwordField = document.getElementsByName('password')[0];
  227.     if (repeatPasswordValue.length != 0 && repeatPasswordValue == passwordField.value) {
  228.  
  229.         repeat_password = true;
  230.         repeatPasswordField.style.borderColor = '#4ef442';
  231.         sign.innerHTML = ' &#x2714;';
  232.         sign.style.color = '#4ef442';
  233.         return;
  234.     }
  235.  
  236.  
  237.     repeat_password = false;
  238.     repeatPasswordField.style.borderColor = '#fc0000';
  239.     sign.innerHTML = ' &#x2716;';
  240.     sign.style.color = '#fc0000';
  241. };
  242. /**
  243.  *
  244.  * @returns {Boolean}
  245.  */
  246. var signupValidation = function () {
  247.  
  248.     if (first_name && last_name && username && email && password && repeat_password) {
  249.  
  250.         return true;
  251.     }
  252.  
  253.     return false;
  254. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement