CRM lan Platform DataEmail Marketing & Otomasi

Priksa Kekuwatan Sandi nganggo JavaScript utawa jQuery lan Ekspresi Reguler (Kanthi Conto Sisih Server, Uga!)

Aku nindakake riset kanggo nemokake conto sing apik kanggo mriksa Kekuwatan Sandi sing digunakake JavaScript lan Ekspresi Biasa (regex). Ing aplikasi ing karya, kita nindakake kirim bali kanggo verifikasi kekuatan sandi lan iku cukup nyenengake kanggo kita kedhaftar.

Apa Regex?

Ekspresi biasa yaiku urutan karakter sing netepake pola telusuran. Biasane, pola kaya ngono digunakake kanthi algoritma nggoleki senar golek or golek lan ganti operasi ing senar, utawa kanggo validasi input. 

Artikel iki mesthine ora ngajarake ekspresi reguler. Cukup ngerti manawa kemampuan nggunakake Ekspresi Biasa pancen bakal nyederhanakake pangembangan nalika nggoleki pola ing teks. Sampeyan uga penting kanggo nyathet manawa umume basa pangembangan wis ngoptimalake panggunaan ekspresi reguler ... dadi luwih becik tinimbang parsing lan telusuran senar langkah demi langkah, Regex biasane luwih cepet server lan klien.

Aku nggoleki web sakdurunge sadurunge conto saka sawetara Expressions Reguler gedhe sing katon kanggo kombinasi dawa, karakter, lan simbol. Nanging, kode ana sethitik gedhe banget kanggo rasa lan ngarang kanggo .NET. Dadi aku nyederhanakake kode lan sijine ing JavaScript. Iki ndadekake validasi kekuatan sandi ing wektu nyata ing browser klien sadurunge ngirim maneh… lan menehi sawetara saran kanggo pangguna babagan kekuatan sandi.

Ketik Sandhi

Kanthi saben stroke keyboard, tembung sandhi dites nganggo ekspresi reguler banjur umpan balik diwenehake menyang pangguna ing rentang ngisor.

Fungsi Kekuwatan Sandi JavaScript

The Ekspresi Biasa nindakake proyek Fantastic nyilikake dawa kode. Fungsi JavaScript iki mriksa kekuwatan tembung sandhi lan apa gampang, medium, angel, utawa angel banget ditebak. Minangka jinis wong, nuduhake tips kanggo nyengkuyung supaya luwih kuwat. Iku validasi sandi adhedhasar:

  • Length - Yen dawane kurang utawa luwih saka 8 karakter.
  • Kasus Campuran – Yen tembung sandhi nduweni karakter gedhe lan cilik.
  • nomer – Yen sandi kalebu nomer.
  • Karakter Khusus – Yen sandi kalebu karakter khusus.

Fungsi nampilake kangelan uga sawetara tips kanggo hardening sandi luwih.

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;
  }
}

Yen sampeyan pengin nganyari warna tip, sampeyan uga bisa nindakake kanthi nganyari kode sawise // Return results baris.

// 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";
  }

Fungsi Kekuwatan Sandi jQuery

Kanthi jQuery, kita ora kudu nulis formulir kanthi nganyari oninput:

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

Kita uga bisa ngowahi warna pesen yen pengin. 

$(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');
        }
    });
});

Ngasah Panjaluk Sandi

Penting yen sampeyan ora mung validasi konstruksi tembung sandhi ing JavaScript sampeyan. Iki bakal ngidini sapa wae sing duwe alat pangembangan browser kanggo ngliwati skrip lan nggunakake tembung sandhi apa wae sing dikarepake. Sampeyan kudu tansah nggunakake mriksa sisih server kanggo validasi kekuatan sandi sadurunge nyimpen ing platform.

Fungsi PHP Kanggo Kekuwatan Sandi

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";
  }
}

Fungsi Python Kanggo Kekuwatan Sandi

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"

Fungsi C# Kanggo Kekuwatan Sandi

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";
  }
}

Fungsi Jawa Kanggo Kekuwatan Sandi

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";
  }
}

Lan yen sampeyan lagi mung looking for a sandi generator gedhe, Aku wis dibangun alat online sethitik becik kanggo sing.

Pangguna Sandi

Douglas Karr

Douglas Karr punika CMO saka OpenINSIGHTS lan pangadeg ing Martech Zone. Douglas wis mbantu Welasan wiwitan MarTech sukses, wis mbantu ing amarga rajin liwat $ 5 bil ing pitukon lan investasi Martech, lan terus kanggo ngewangi perusahaan ing ngleksanakake lan ngotomatisasi dodolan lan strategi marketing. Douglas minangka transformasi digital sing diakoni sacara internasional lan pakar lan speaker MarTech. Douglas uga dadi penulis buku pandhuan Dummie lan buku kepemimpinan bisnis.

Artikel web

Bali menyang ndhuwur tombol
Cedhak

Adblock Dideteksi

Martech Zone bisa nyedhiyakake konten iki tanpa biaya amarga kita monetisasi situs liwat revenue iklan, pranala afiliasi, lan sponsor. Kita bakal ngormati yen sampeyan bakal mbusak blocker iklan nalika ndeleng situs kita.