CRM lan Platform DataPemasaran Email & Otomatisasi Email Pemasaran

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 kekuatan 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

Sampeyan penting supaya ora mung ngetrapake konstruksi sandhi ing Javascript. Iki bakal ngaktifake sapa wae sing duwe alat pangembangan browser kanggo ngliwati skrip lan nggunakake sandhi sing dikarepake. Sampeyan mesthi nggunakake cek sisih server kanggo validasi kekuwatan tembung sandhi sadurunge disimpen 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 yaiku pangadeg Martech Zone lan ahli sing diakoni babagan transformasi digital. Douglas wis mbantu miwiti sawetara startups MarTech sukses, wis mbantu ing rajin amarga liwat $5 bil ing pitukon lan investasi Martech, lan terus kanggo miwiti platform lan layanan dhewe. Dheweke dadi pendiri Highbridge, perusahaan konsultasi transformasi digital. Douglas uga dadi penulis buku pandhuan Dummie lan buku kepemimpinan bisnis.

Artikel web

33 Komentar

  1. MATUR NUWUN! MATUR NUWUN! MATUR NUWUN! Aku wis 2 minggu ngapusi karo kode kekuatan sandi saka situs web liyane lan narik rambutku. Panjenengan cendhak, bisa kaya aku pengin lan paling apik, gampang kanggo wong anyar javascript kanggo ngowahi! Aku wanted kanggo dijupuk putusan kekuatan lan ora supaya kirim wangun bener nganyari sandi pangguna kajaba ketemu test kekuatan. Kode wong liya rumit banget utawa ora bisa digunakake kanthi bener utawa liya. Aku tresna sampeyan! XXXXX

  2. Halo, pisanan matur nuwun banget kanggo usaha sampeyan, aku nyoba nggunakake iki karo Asp.net nanging ora bisa, aku nggunakake

    tinimbang tag, lan ora bisa, ana saran?!

  3. Kanggo Nisreen: kode ing kothak disorot ora bisa karo cut'n'paste. Kutipan tunggal kacau. Kode link demonstrasi apik.

  4. "P@s$w0rD" ditampilake kanthi kuat, sanajan bakal dipecah kanthi cepet kanthi serangan kamus…
    Kanggo masang fitur kuwi ing solusi profesional, Aku pracaya iku penting kanggo gabungke algoritma iki karo mriksa dictionnary.

  5. Thanks kanggo kode cilik iki aku saiki bisa digunakake kanggo nyoba sandi kekuatan sandi nalika pengunjung sandi .ketik sandhi,

  6. ana sing bisa ngomong, kenapa ora bisa digunakake..

    Aku nyalin kabeh kode, lan nempel menyang notepad ++, nanging ora bisa digunakake?
    tulung aku..

  7. Jinis "pemeriksa kekuatan" iki nuntun wong menyang dalan sing mbebayani banget. Iki ngira-ngira keragaman karakter tinimbang dawa tembung sandhi, sing ndadekake tembung sandhi sing luwih cendhek lan beda-beda luwih kuwat tinimbang tembung sandhi sing luwih dawa lan kurang macem-macem. Iki minangka fallacy sing bakal nyebabake pangguna sampeyan ngalami masalah yen padha ngadhepi ancaman peretasan sing serius.

    1. Aku ora setuju, Jordan! Tuladhanipun namung dipunandharaken minangka tuladha naskah. Rekomendasiku kanggo wong yaiku nggunakake alat manajemen sandhi kanggo nggawe frasa sandhi mandiri kanggo situs apa wae sing unik. Matur nuwun!

  8. Aku pancene matur nuwun sampeyan wis digoleki kaping pirang-pirang, nanging pungkasane aku entuk kiriman sampeyan lan aku kaget banget. Suwun

  9. Aku appreciate sampeyan nuduhake! Wis looking kanggo daging sapi munggah kekuatan sandi ing situs web kita lan siji iki bisa cara aku wanted. Matur nuwun kanthi sanget!

  10. Sampeyan minangka saver urip! Aku wis parsing strings kiwa tengen lan tengah lan panginten ana cara sing luwih apik lan nemokake Piece saka kode nggunakake Regex. Bisa tinkle karo kanggo situsku…Sampeyan ora ngerti carane akeh iki mbantu. Matur nuwun kanthi sanget Douglas !!

Apa sampeyan mikir?

Situs iki nggunakake Akismet kanggo ngurangi spam. Sinau babagan proses data sampeyan.