CRM და მონაცემთა პლატფორმებიელექტრონული ფოსტის მარკეტინგი და ავტომატიზაცია

შეამოწმეთ პაროლის სიძლიერე JavaScript-ით ან jQuery-ით და რეგულარული გამონათქვამებით (სერვერის მხარის მაგალითებითაც!)

მე ვატარებდი გარკვეულ გამოკვლევას პაროლის სიძლიერის შემმოწმებლის კარგი მაგალითის მოძიებაში JavaScript მდე რეგულარული გამონათქვამები (რეგექსი). ჩემს სამუშაო აპლიკაციაში, ჩვენ ვაკეთებთ პოსტს პაროლის სიძლიერის შესამოწმებლად და ეს საკმაოდ მოუხერხებელია ჩვენი მომხმარებლებისთვის.

რა არის რეგექსი?

რეგულარული გამოხატვა არის სიმბოლოების თანმიმდევრობა, რომლებიც განსაზღვრავს ძიების ნიმუშს. ჩვეულებრივ, ასეთ შაბლონებს იყენებენ სტრიქონის ძიების ალგორითმებით მოვძებნოთ or იპოვე და ჩაანაცვლე ოპერაციები სტრიქონებზე ან შეყვანის ვალიდაციისთვის. 

ეს სტატია ნამდვილად არ არის იმისათვის, რომ გასწავლოთ რეგულარული გამოთქმები. უბრალოდ იცოდეთ, რომ რეგულარული გამოხატვის გამოყენების შესაძლებლობა აბსოლუტურად გაამარტივებს თქვენს განვითარებას ტექსტში ნიმუშების ძებნისას. ასევე მნიშვნელოვანია აღინიშნოს, რომ განვითარების ენების უმეტესობამ ოპტიმიზირებულია გამოხატვის რეგულარული გამოყენება… ასე რომ, ვიდრე სტრიქონების ეტაპობრივად გაანალიზება და ძებნა ხდება, Regex, როგორც წესი, ბევრად უფრო სწრაფია, როგორც სერვერული, ასევე კლიენტის მხრიდან.

სანამ ინტერნეტს ვიპოვიდი, საკმაოდ ცოტა ვეძებე ინტერნეტში მაგალითად რამდენიმე შესანიშნავი რეგულარული გამონათქვამი, რომელიც ეძებს სიგრძის, სიმბოლოების და სიმბოლოების კომბინაციას. თუმცა, კოდი ცოტა გადაჭარბებული იყო ჩემი გემოვნებით და მორგებული .NET-ზე. ამიტომ გავამარტივე კოდი და ჩავდე JavaScript-ში. ეს ხდის მას პაროლის სიძლიერის ვალიდაციას რეალურ დროში კლიენტის ბრაუზერზე მის უკან გამოქვეყნებამდე… და აძლევს მომხმარებელს გარკვეულ უკუკავშირს პაროლის სიძლიერის შესახებ.

აკრიფეთ პაროლი

კლავიატურის ყოველი დარტყმისას, პაროლი ტესტირდება რეგულარული გამოხატვის საწინააღმდეგოდ და შემდეგ მომხმარებელს მიეწოდება უკუკავშირი მის ქვეშ.

JavaScript პაროლის სიძლიერის ფუნქცია

ის რეგულარული გამონათქვამები გააკეთეთ ფანტასტიკური სამუშაო კოდის სიგრძის მინიმიზაციისთვის. ეს JavaScript ფუნქცია ამოწმებს პაროლის სიძლიერეს და მისი ამოღება ადვილი, საშუალო, რთული ან უკიდურესად რთული გამოსაცნობია. როდესაც ადამიანი აკრიფებს, ის აჩვენებს რჩევებს, რომ წაახალისოს იგი იყოს უფრო ძლიერი. ის ამოწმებს პაროლს შემდეგზე დაყრდნობით:

  • სიგრძე – თუ სიგრძე 8 სიმბოლოზე ნაკლები ან მეტია.
  • შერეული საქმე – თუ პაროლს აქვს როგორც დიდი, ასევე პატარა ასოები.
  • ნომრები – თუ პაროლი შეიცავს ნომრებს.
  • სპეციალური სიმბოლოები – თუ პაროლი შეიცავს სპეციალურ სიმბოლოებს.

ფუნქცია აჩვენებს სირთულეს და ასევე რამდენიმე რჩევას პაროლის შემდგომი გამკვრივების შესახებ.

function checkPasswordStrength(password) {
  // Initialize variables
  var strength = 0;
  var tips = "";

  // Check password length
  if (password.length < 8) {
    tips += "Make the password longer. ";
  } else {
    strength += 1;
  }

  // Check for mixed case
  if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
    strength += 1;
  } else {
    tips += "Use both lowercase and uppercase letters. ";
  }

  // Check for numbers
  if (password.match(/\d/)) {
    strength += 1;
  } else {
    tips += "Include at least one number. ";
  }

  // Check for special characters
  if (password.match(/[^a-zA-Z\d]/)) {
    strength += 1;
  } else {
    tips += "Include at least one special character. ";
  }

  // Return results
  if (strength < 2) {
    return "Easy to guess. " + tips;
  } else if (strength === 2) {
    return "Medium difficulty. " + tips;
  } else if (strength === 3) {
    return "Difficult. " + tips;
  } else {
    return "Extremely difficult. " + tips;
  }
}

თუ გსურთ განაახლოთ წვერის ფერი, შეგიძლიათ ამის გაკეთება ასევე კოდის შემდეგ განახლებით // Return results ხაზი.

// Get the paragraph element
  var strengthElement = document.getElementById("passwordStrength");

  // Return results
  if (strength < 2) {
    strengthElement.textContent = "Easy to guess. " + tips;
    strengthElement.style.color = "red";
  } else if (strength === 2) {
    strengthElement.textContent = "Medium difficulty. " + tips;
    strengthElement.style.color = "orange";
  } else if (strength === 3) {
    strengthElement.textContent = "Difficult. " + tips;
    strengthElement.style.color = "black";
  } else {
    strengthElement.textContent = "Extremely difficult. " + tips;
    strengthElement.style.color = "green";
  }

jQuery პაროლის სიძლიერის ფუნქცია

jQuery-სთან ერთად ჩვენ რეალურად არ გვჭირდება ფორმის ჩაწერა oninput განახლებით:

<form>
    <label for="password">Enter password:</label>
    <input type="password" id="password">
    <p id="password-strength"></p>
</form>

ჩვენ ასევე შეგვიძლია შევცვალოთ შეტყობინებების ფერი, თუ გვსურს. 

$(document).ready(function() {
    $('#password').on('input', function() {
        var password = $(this).val();
        var strength = 0;
        var tips = "";
  
        // Check password length
        if (password.length < 8) {
            tips += "Make the password longer. ";
        } else {
            strength += 1;
        }
  
        // Check for mixed case
        if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
            strength += 1;
        } else {
            tips += "Use both lowercase and uppercase letters. ";
        }
  
        // Check for numbers
        if (password.match(/\d/)) {
            strength += 1;
        } else {
            tips += "Include at least one number. ";
        }
  
        // Check for special characters
        if (password.match(/[^a-zA-Z\d]/)) {
            strength += 1;
        } else {
            tips += "Include at least one special character. ";
        }
  
        // Update the text and color based on the password strength
        var passwordStrengthElement = $('#password-strength');
        if (strength < 2) {
            passwordStrengthElement.text("Easy to guess. " + tips);
            passwordStrengthElement.css('color', 'red');
        } else if (strength === 2) {
            passwordStrengthElement.text("Medium difficulty. " + tips);
            passwordStrengthElement.css('color', 'orange');
        } else if (strength === 3) {
            passwordStrengthElement.text("Difficult. " + tips);
            passwordStrengthElement.css('color', 'black');
        } else {
            passwordStrengthElement.text("Extremely difficult. " + tips);
            passwordStrengthElement.css('color', 'green');
        }
    });
});

თქვენი პაროლის მოთხოვნის გამკვრივება

მნიშვნელოვანია, რომ თქვენ უბრალოდ არ დაადასტუროთ პაროლის კონსტრუქცია თქვენს JavaScript-ში. ეს საშუალებას მისცემს ნებისმიერ ბრაუზერის განვითარების ხელსაწყოს გვერდის ავლით სკრიპტს და გამოიყენოს ნებისმიერი პაროლი, რომელიც მათ სურთ. თქვენ ყოველთვის უნდა გამოიყენოთ სერვერის მხრიდან შემოწმება პაროლის სიძლიერის დასადასტურებლად თქვენს პლატფორმაში შენახვამდე.

PHP ფუნქცია პაროლის სიძლიერისთვის

function checkPasswordStrength($password) {
  // Initialize variables
  $strength = 0;

  // Check password length
  if (strlen($password) < 8) {
    return "Easy to guess";
  } else {
    $strength += 1;
  }

  // Check for mixed case
  if (preg_match("/[a-z]/", $password) && preg_match("/[A-Z]/", $password)) {
    $strength += 1;
  }

  // Check for numbers
  if (preg_match("/\d/", $password)) {
    $strength += 1;
  }

  // Check for special characters
  if (preg_match("/[^a-zA-Z\d]/", $password)) {
    $strength += 1;
  }

  // Return strength level
  if ($strength < 2) {
    return "Easy to guess";
  } else if ($strength === 2) {
    return "Medium difficulty";
  } else if ($strength === 3) {
    return "Difficult";
  } else {
    return "Extremely difficult";
  }
}

პითონის ფუნქცია პაროლის სიძლიერისთვის

def check_password_strength(password):
  # Initialize variables
  strength = 0

  # Check password length
  if len(password) < 8:
    return "Easy to guess"
  else:
    strength += 1

  # Check for mixed case
  if any(char.islower() for char in password) and any(char.isupper() for char in password):
    strength += 1

  # Check for numbers
  if any(char.isdigit() for char in password):
    strength += 1

  # Check for special characters
  if any(not char.isalnum() for char in password):
    strength += 1

  # Return strength level
  if strength < 2:
    return "Easy to guess"
  elif strength == 2:
    return "Medium difficulty"
  elif strength == 3:
    return "Difficult"
  else:
    return "Extremely difficult"

C# ფუნქცია პაროლის სიძლიერისთვის

public string CheckPasswordStrength(string password) {
  // Initialize variables
  int strength = 0;

  // Check password length
  if (password.Length < 8) {
    return "Easy to guess";
  } else {
    strength += 1;
  }

  // Check for mixed case
  if (password.Any(char.IsLower) && password.Any(char.IsUpper)) {
    strength += 1;
  }

  // Check for numbers
  if (password.Any(char.IsDigit)) {
    strength += 1;
  }

  // Check for special characters
  if (password.Any(ch => !char.IsLetterOrDigit(ch))) {
    strength += 1;
  }

  // Return strength level
  if (strength < 2) {
    return "Easy to guess";
  } else if (strength == 2) {
    return "Medium difficulty";
  } else if (strength == 3) {
    return "Difficult";
  } else {
    return "Extremely difficult";
  }
}

ჯავის ფუნქცია პაროლის სიმტკიცისთვის

public String checkPasswordStrength(String password) {
  // Initialize variables
  int strength = 0;

  // Check password length
  if (password.length() < 8) {
    return "Easy to guess";
  } else {
    strength += 1;
  }

  // Check for mixed case
  if (password.matches(".*[a-z].*") && password.matches(".*[A-Z].*")) {
    strength += 1;
  }

  // Check for numbers
  if (password.matches(".*\\d.*")) {
    strength += 1;
  }

  // Check for special characters
  if (password.matches(".*[^a-zA-Z\\d].*")) {
    strength += 1;
  }

  // Return strength level
  if (strength < 2) {
    return "Easy to guess";
  } else if (strength == 2) {
    return "Medium difficulty";
  } else if (strength == 3) {
    return "Difficult";
  } else {
    return "Extremely difficult";
  }
}

და თუ თქვენ უბრალოდ ეძებთ პაროლის შესანიშნავ გენერატორს, მე შევქმენი ლამაზი პატარა ონლაინ ინსტრუმენტი ამისთვის.

პაროლის გენერატორი

Douglas Karr

Douglas Karr არის CMO of OpenINSIGHTS და დამფუძნებელი Martech Zone. დუგლასი დაეხმარა ათეულობით წარმატებულ MarTech სტარტაპს, დაეხმარა 5 მილიარდ დოლარზე მეტის შეძენისა და ინვესტიციების გამომუშავებაში და აგრძელებს კომპანიებს მათი გაყიდვებისა და მარკეტინგული სტრატეგიების განხორციელებაში და ავტომატიზაციაში. დუგლასი არის საერთაშორისოდ აღიარებული ციფრული ტრანსფორმაციის და MarTech ექსპერტი და სპიკერი. დუგლასი ასევე არის Dummie's-ის სახელმძღვანელოს და ბიზნეს ლიდერობის წიგნის გამოქვეყნებული ავტორი.

დაკავშირებული სტატიები

დაბრუნება ღილაკზე
დახურვა

Adblock აღმოჩენილია

Martech Zone შეუძლია მოგაწოდოთ ეს კონტენტი უფასოდ, რადგან ჩვენ ვაკეთებთ ჩვენი საიტის მონეტიზაციას რეკლამის შემოსავლების, შვილობილი ბმულების და სპონსორების მეშვეობით. ჩვენ მადლობელი ვიქნებით, თუ ჩვენს საიტს ნახულობთ თქვენს რეკლამის ბლოკერს.