Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var timesSubmited = 0;
- //Regularni izrazi koji ce se koristiti pri proveri
- var nameRegex = /^[A-Z][a-z]{1,20}[\s]*$/;
- var passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,}$/;
- var emailRegex = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
- var urlRegex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)/;
- var usernameRegex = /^[a-zA-Z0-9\-\_]{3,20}$/;
- $(document).ready(function() {
- //Polja u koje ce se upisivati poruke za gresku pri proveri
- userErrorField = $("#usernameError");
- emailErrorField = $("#emailError");
- passwordErrorField = $("#passwordError");
- websiteErrorField = $("#websiteError");
- firstNameErrorField = $("#firstNameError");
- $("#regSubmit").click(function(event) {
- timesSubmited++;
- var errorsNum = 0;
- //Vrednosti polja koja ce se koristiti pri proveri
- var username = $("#rgUsername").val();
- var email = $("#rgEmail").val();
- var password = $("#rgPassword").val();
- var website = $("#rgWebsite").val();
- var firstName = $("#rgFirstName").val();
- if(!validateFieldValue(nameRegex,firstName,firstNameErrorField,"Invalid name format."))errorsNum++;
- if(!validateFieldValue(emailRegex,email,emailErrorField,"Invalid email address format."))errorsNum++;
- if(!validateFieldValue(usernameRegex,username,userErrorField,"Words, numbers, - and _ only."))errorsNum++;
- if(!validateFieldValue(passwordRegex,password,passwordErrorField,"Min 6 characters, letter and a number."))errorsNum++;
- if(errorsNum)event.preventDefault();
- });
- //Provera regularnim izrazima na promenu vrednosti u polju
- $("#rgFirstName").keyup(function(event) {
- validateFieldValue(nameRegex,event.target.value,firstNameErrorField,"Invalid name format.");
- });
- $("#rgUsername").keyup(function(event) {
- validateFieldValue(usernameRegex,event.target.value,userErrorField,"Words, numbers, - and _ only.");
- });
- $("#rgEmail").keyup(function(event) {
- validateFieldValue(emailRegex,event.target.value,emailErrorField,"Invalid email address format.");
- });
- $("#rgPassword").keyup(function(event) {
- validateFieldValue(passwordRegex,event.target.value,passwordErrorField,"Min 6 characters, letter and a number.");
- });
- });
- /*
- Regex - obrazac na osnovu kog se proverava
- ValueToValidate - vrednost iz tekstualnog polja koju treba potvrditi
- errorField - polje u kom ce se ispisati error
- failedText - poruka koja se salje ako validacija nije uspela
- */
- function validateFieldValue(regex,valueToValidate,errorField,failedText) {
- if (timesSubmited) {
- if (valueToValidate != "") {
- if (!regex.test(valueToValidate)) {
- return fadeInError(errorField, failedText);
- }else{
- return fadeOutError(errorField);
- }
- } else {
- return fadeInError(errorField, "This field is required.");
- }
- }
- }
- //Funkcija za prikazivanje gresaka, prosledjuje joj se polje u kom se greska prikazuje
- //I tekst greske koju treba da prikaze, kao rezultat vraca false
- function fadeInError(field, error) {
- field.html("<p style='font-size:0.8rem' class='top-buffer-1'>" + error + "</p>");
- field.fadeIn("400");
- return false;
- }
- //Funkcija za uklananje prikazane greske, ocekuje polje koje treba da sakrije
- //Kao rezultat vraca true
- function fadeOutError(field) {
- field.fadeOut('400');
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement