Advertisement
braveheart1989

solve

Oct 22nd, 2016
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     //Write your code here
  3.     let userName = $('#username');
  4.     let email = $('#email');
  5.     let pass = $('#password');
  6.     let confPass = $('#confirm-password');
  7.     let companyCheckbox = $('#company');
  8.     let userNamePattern = /^[A-Za-z0-9]{3,20}$/;
  9.     let passwordPattern = /^[A-Za-z0-9_]{5,15}$/;
  10.     let companyNumberPattern = /^[1-9][0-9]{3}$/;
  11.     //.*-хваща всички символи 0 ли повече
  12.     //.*?-lazy - хваща възможно най-малко съвпадения.
  13.     let emailPattern = /^.*@.*\..*$/;
  14.     //всеки символ 0 или повече @ всеки символ поне 1 точка и след това всеки символ.
  15.  
  16.     let submit = $('#submit');
  17.  
  18.     companyCheckbox.click(function () {
  19.         if ((companyCheckbox).on("change")) {//Да не ползвам is(checked) а on change event!
  20.             $('#companyInfo').css('display', 'block');
  21.         }
  22.         else {
  23.             $('#companyInfo').css('display', 'none');
  24.         }
  25.     });
  26.  
  27.     submit.click(function (event) {
  28.         event.preventDefault();
  29.         let validName = isValidUsername(userName, userNamePattern);
  30.         let validPass = isValidPassword(pass, confPass, passwordPattern);
  31.         let validEmail = isValidEmail(email, emailPattern);
  32.  
  33.         if (companyCheckbox.is(":checked")) {
  34.             let validCompanyNum = isValidCompanyNum(companyNumberPattern);
  35.             if (validCompanyNum && validEmail && validName && validPass) {
  36.                 let valid = $('#valid');
  37.                 valid.css('display', 'block')
  38.             }
  39.             else {
  40.                 let valid = $('#valid');
  41.                 valid.css('display', 'none')
  42.             }
  43.             return;
  44.         }
  45.  
  46.         if (validEmail && validName && validPass) {
  47.             let valid = $('#valid');
  48.             valid.css('display', 'block')
  49.         }
  50.         else {
  51.             let valid = $('#valid');
  52.             valid.css('display', 'none')
  53.         }
  54.     });
  55.  
  56.     function isValidEmail(email, emailPattern) {
  57.         let isValidEmail = true;
  58.         if (!email.val().match(emailPattern)) {
  59.             email.css('border', 'red');
  60.             isValidEmail = false;
  61.             return isValidEmail;
  62.         }
  63.         return isValidEmail;
  64.  
  65.     }
  66.  
  67.     function isValidCompanyNum(companyNumberPattern) {
  68.         let isValid = true;
  69.         let companyNumber = $('#companyNumber');
  70.         if (!companyNumber.val().match(companyNumberPattern)) {
  71.             companyNumber.css('border', 'red');
  72.             isValid = false;
  73.         }
  74.         return isValid;
  75.     }
  76.     function isValidUsername(userName, userNamePattern) {
  77.         let isValidUser = true;
  78.         if (!userName.val().match(userNamePattern)) {
  79.             userName.css('border', 'red');
  80.             isValidUser = false;
  81.         }
  82.         return isValidUser;
  83.     }
  84.     function isValidPassword(password, confPass, passwordPattern) {
  85.         let isValidPassword = true;
  86.         let passwordVal = password.val();
  87.         let confirmPassVal = confPass.val();
  88.         if (passwordVal !== confirmPassVal
  89.             || !passwordVal.match(passwordPattern)
  90.             || !confirmPassVal.match(passwordPattern)) {
  91.             password.css('border', 'red');
  92.             confPass.css('border', 'red');
  93.             isValidPassword = false;
  94.         }
  95.         return isValidPassword;
  96.     }
  97. }
  98.  
  99. function validate() {
  100.     let usernameRegex = /[a-zA-Z0-9]+/g;
  101.     let passwordRegex = /[a-zA-Z0-9_]/g;
  102.     let confirmPasswordRegex = /[a-zA-Z0-9_]/g;
  103.     let emailRegex = /(.)*@(.)*\.(.)*/g;    // всеки символ @ всеки символ . всеки символ (условието е че трябва да има @ и поне една точка)
  104.  
  105.     $('#submit').on('click', function (event) {
  106.         event.preventDefault();
  107.         let username = $('#username').val();
  108.         let usernameMatch = username.match(usernameRegex);
  109.         if (username.length >= 3 && username.length <= 20 && username === usernameMatch[0]) {
  110.             $('#username').css('border', 'none');
  111.         }
  112.         else {
  113.             $('#username').css('border', '20px solid red');
  114.  
  115.         }
  116.  
  117.  
  118.     })
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement