ពិនិត្យមើលភាពខ្លាំងនៃពាក្យសម្ងាត់ដោយប្រើ JavaScript ឬ jQuery និងកន្សោមធម្មតា (ជាមួយឧទាហរណ៍ខាង Server ផងដែរ!)
ខ្ញុំបានធ្វើការស្រាវជ្រាវមួយចំនួនលើការស្វែងរកឧទាហរណ៍ដ៏ល្អមួយនៃកម្មវិធីត្រួតពិនិត្យកម្លាំងពាក្យសម្ងាត់ដែលប្រើ JavaScript និង កន្សោមធម្មតា។ (រ៉េហ្គិច) នៅក្នុងកម្មវិធីនៅកន្លែងធ្វើការរបស់ខ្ញុំ យើងធ្វើការប្រកាសត្រឡប់មកវិញដើម្បីផ្ទៀងផ្ទាត់ភាពខ្លាំងនៃពាក្យសម្ងាត់ ហើយវាពិតជាមិនងាយស្រួលសម្រាប់អ្នកប្រើប្រាស់របស់យើង។
តើ Regex គឺជាអ្វី?
កន្សោមធម្មតាគឺជាលំដាប់តួអក្សរដែលកំណត់លំនាំស្វែងរក។ ជាធម្មតាលំនាំបែបនេះត្រូវបានប្រើដោយក្បួនដោះស្រាយការស្វែងរកខ្សែអក្សរសម្រាប់ ស្វែងរក 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 យើងពិតជាមិនត្រូវសរសេរសំណុំបែបបទជាមួយនឹងការធ្វើឱ្យទាន់សម័យ 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";
}
}
មុខងារ Python សម្រាប់ភាពខ្លាំងនៃពាក្យសម្ងាត់
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";
}
}
មុខងារ Java សម្រាប់ភាពខ្លាំងនៃពាក្យសម្ងាត់
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";
}
}
ហើយប្រសិនបើអ្នកគ្រាន់តែស្វែងរកម៉ាស៊ីនបង្កើតពាក្យសម្ងាត់ដ៏អស្ចារ្យ ខ្ញុំបានបង្កើតឧបករណ៍អនឡាញដ៏ល្អមួយសម្រាប់វា។