सीआरएम आणि डेटा प्लॅटफॉर्मईमेल विपणन आणि ऑटोमेशन

JavaScript किंवा jQuery आणि रेग्युलर एक्सप्रेशन्ससह पासवर्ड स्ट्रेंथ तपासा (सर्व्हर-साइड उदाहरणांसह, खूप!)

मी वापरत असलेल्या संकेतशब्द सामर्थ्य परीक्षकांचे चांगले उदाहरण शोधण्यासाठी मी काही संशोधन करत होतो जावास्क्रिप्ट आणि नियमित अभिव्यक्ती (रेजेक्स). माझ्या कामावरील अनुप्रयोगामध्ये, आम्ही पासवर्डची ताकद सत्यापित करण्यासाठी एक पोस्ट परत करतो आणि आमच्या वापरकर्त्यांसाठी ते खूप गैरसोयीचे आहे.

रेजेक्स म्हणजे काय?

नियमित अभिव्यक्ती म्हणजे वर्णांची अनुक्रम जो शोध नमुना परिभाषित करते. सहसा, अशा नमुन्यांचा वापर स्ट्रिंग शोध अल्गोरिदमसाठी केला जातो शोधणे or शोधा आणि पुनर्स्थित करा तारांवर ऑपरेशन किंवा इनपुट वैधतेसाठी. 

हा लेख आपल्याला नियमित अभिव्यक्ती शिकवण्यासाठी नक्कीच नाही. फक्त हे जाणून घ्या की नियमित अभिव्यक्ती वापरण्याची क्षमता आपला मजकूरातील नमुन्यांचा शोध घेताना आपला विकास पूर्णपणे सुलभ करेल. हे लक्षात घेणे देखील महत्त्वाचे आहे की बर्‍याच विकास भाषांनी नियमित अभिव्यक्ती वापर अनुकूलित केले आहे… म्हणून चरण-दर-चरण तारांचे विश्लेषण आणि शोध घेण्याऐवजी, रेजेक्स सर्व्हर आणि क्लायंट-साइड दोन्हीपेक्षा वेगवान असतो.

मी सापडण्यापूर्वी मी वेबवर थोडा शोध घेतला एक उदाहरण काही उत्कृष्ट रेग्युलर एक्सप्रेशन्स जे लांबी, वर्ण आणि चिन्हे यांचे संयोजन शोधतात. तथापि, कोड माझ्या चवीनुसार थोडा जास्त होता आणि .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 सह, आम्हाला ऑनइनपुट अपडेटसह फॉर्म लिहिण्याची गरज नाही:

<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 आहे ओपनइनसाइट्स आणि चे संस्थापक Martech Zone. डग्लसने डझनभर यशस्वी MarTech स्टार्टअप्सना मदत केली आहे, Martech अधिग्रहण आणि गुंतवणुकीमध्ये $5 बिलियन पेक्षा जास्त योग्य परिश्रमात मदत केली आहे आणि कंपन्यांना त्यांच्या विक्री आणि विपणन धोरणांची अंमलबजावणी आणि स्वयंचलित करण्यात मदत करणे सुरू ठेवले आहे. डग्लस हा आंतरराष्ट्रीय स्तरावर मान्यताप्राप्त डिजिटल ट्रान्सफॉर्मेशन आणि MarTech तज्ञ आणि स्पीकर आहे. डग्लस हे डमीच्या मार्गदर्शक आणि व्यवसाय नेतृत्व पुस्तकाचे प्रकाशित लेखक देखील आहेत.

संबंधित लेख

परत शीर्षस्थानी बटण
बंद

अॅडब्लॉक आढळले

Martech Zone तुम्हाला ही सामग्री कोणत्याही खर्चाशिवाय प्रदान करण्यात सक्षम आहे कारण आम्ही आमच्या साइटवर जाहिरात महसूल, संलग्न दुवे आणि प्रायोजकत्वाद्वारे कमाई करतो. तुम्ही आमची साइट पाहता तेव्हा तुमचा अॅड ब्लॉकर काढून टाकल्यास आम्ही कृतज्ञ आहोत.