HTMLify
script.js
Views: 5 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | const form = document.getElementById('form'); const username = document.getElementById('username'); const email = document.getElementById('email'); const password = document.getElementById('password'); const password2 = document.getElementById('password2'); // Show input error message function showError(input, message) { const formControl = input.parentElement; formControl.className = 'form-control error'; const small = formControl.querySelector('small'); small.innerText = message; } // Show success outline function showSuccess(input) { const formControl = input.parentElement; formControl.className = 'form-control success'; } // Check email is valid function checkEmail(input) { const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (re.test(input.value.trim())) { showSuccess(input); } else { showError(input, 'Email is not valid'); } } // Check required fields function checkRequired(inputArr) { let isRequired = false; inputArr.forEach(function(input) { if (input.value.trim() === '') { showError(input, `${getFieldName(input)} is required`); isRequired = true; } else { showSuccess(input); } }); return isRequired; } // Check input length function checkLength(input, min, max) { if (input.value.length < min) { showError( input, `${getFieldName(input)} must be at least ${min} characters` ); } else if (input.value.length > max) { showError( input, `${getFieldName(input)} must be less than ${max} characters` ); } else { showSuccess(input); } } // Check passwords match function checkPasswordsMatch(input1, input2) { if (input1.value !== input2.value) { showError(input2, 'Passwords do not match'); } } // Get fieldname function getFieldName(input) { return input.id.charAt(0).toUpperCase() + input.id.slice(1); } // Event listeners form.addEventListener('submit', function(e) { e.preventDefault(); if(checkRequired([username, email, password, password2])){ checkLength(username, 3, 15); checkLength(password, 6, 25); checkEmail(email); checkPasswordsMatch(password, password2); } }); |