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.