
जाभास्क्रिप्ट वा jQuery र नियमित अभिव्यक्तिहरू (सर्भर-साइड उदाहरणहरूको साथ, पनि!) को साथ पासवर्ड बलियो जाँच गर्नुहोस्।
म एक पासवर्ड शक्ति जाँचकर्ता को एक राम्रो उदाहरण को लागी प्रयोग गर्न को लागी केहि अनुसन्धान गर्दै थिए जाभास्क्रिप्ट र नियमित अभिव्यक्ति (रेजेक्स)। मेरो काममा रहेको एप्लिकेसनमा, हामी पासवर्ड बलियो प्रमाणीकरण गर्नको लागि पोस्ट फिर्ता गर्छौं र यो हाम्रा प्रयोगकर्ताहरूका लागि असुविधाजनक छ।
रेजेक्स भनेको के हो?
नियमित अभिव्यक्ति अक्षरहरूको अनुक्रम हो जुन खोजी ढाँचा परिभाषित गर्दछ। सामान्यतया, त्यस्ता ढाँचाहरूको लागि स्ट्रिंग खोजी एल्गोरिदमहरू प्रयोग गरिन्छ फेला or फेला पार्नुहोस् र बदल्नुहोस् तारमा अपरेसनहरू, वा इनपुट मान्यताको लागि।
यो लेख निश्चित रूपले तपाईंलाई नियमित अभिव्यक्तिहरू सिकाउँदैन। केवल थाँहा जान्नुहोस् कि नियमित अभिव्यक्ति प्रयोग गर्ने क्षमताले तपाईंको विकासलाई बिल्कुल सरलीकृत गर्दछ किनकि तपाईंले पाठमा बान्की खोजी गर्नुहुन्छ। यो नोट गर्न पनि महत्वपूर्ण छ कि प्राय जसो विकास भाषाहरूले नियमित अभिव्यक्ति प्रयोगलाई अनुकूलन गरेका छन्… त्यसैले चरण-दर-चरण तार पार्स र खोजी गर्नु भन्दा, रेजेक्स सामान्यतया दुबै सर्भर र ग्राहक-साइड दुवै छिटो हुन्छ।
मैले फेला पार्नुभन्दा पहिले मैले वेबमा केहि थोरै खोजी गर्यो एउटा उदाहरण लम्बाइ, वर्ण र प्रतीकहरूको संयोजन खोज्ने केही उत्कृष्ट नियमित अभिव्यक्तिहरूको। जे होस्, कोड मेरो स्वादको लागि अलि अत्याधिक थियो र .NET को लागि अनुकूल थियो। त्यसैले मैले कोडलाई सरल बनाएर जाभास्क्रिप्टमा राखें। यसले यसलाई फिर्ता पोस्ट गर्नु अघि ग्राहकको ब्राउजरमा वास्तविक-समयमा पासवर्डको बल प्रमाणित गर्छ... र पासवर्डको बलमा प्रयोगकर्तालाई केही प्रतिक्रिया प्रदान गर्दछ।
पासवर्ड टाइप गर्नुहोस्
कुञ्जीपाटीको प्रत्येक स्ट्रोकको साथ, पासवर्ड नियमित अभिव्यक्तिको बिरूद्ध परीक्षण गरीन्छ र त्यसपछि यसको तल स्पानमा प्रयोगकर्तालाई प्रतिक्रिया प्रदान गरिन्छ।
जाभास्क्रिप्ट पासवर्ड शक्ति प्रकार्य
यो नियमित अभिव्यक्ति कोडको लम्बाइ कम गर्ने उत्कृष्ट काम गर्नुहोस्। यो जाभास्क्रिप्ट प्रकार्यले पासवर्डको बल जाँच गर्दछ र यसलाई विफल पार्न सजिलो, मध्यम, गाह्रो, वा अनुमान गर्न अत्यन्त गाह्रो छ। जसरी व्यक्ति टाइप गर्दछ, यसले यसलाई बलियो हुन प्रोत्साहन गर्ने सुझावहरू देखाउँछ। यसले पासवर्डको आधारमा प्रमाणीकरण गर्छ:
- लंबाई - यदि लम्बाइ 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');
}
});
});
तपाईंको पासवर्ड अनुरोध सख्त गर्दै
यो आवश्यक छ कि तपाईं केवल आफ्नो जाभास्क्रिप्ट भित्र पासवर्ड निर्माण मान्य छैन। यसले कुनैलाई पनि ब्राउजर विकास उपकरणहरूको साथ लिपिलाई बाइपास गर्न सक्षम गर्दछ र जुन मनपर्दो पासवर्ड प्रयोग गर्दछ। तपाईंले आफ्नो सर्टफर्ममा भण्डारण गर्नु अघि पासवर्ड शक्ति मान्य गर्न सँधै सर्भर साइड जाँच गर्नुपर्नेछ।
पासवर्ड शक्तिको लागि 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";
}
}
र यदि तपाइँ भर्खरै राम्रो पासवर्ड जेनेरेटर खोज्दै हुनुहुन्छ भने, मैले यसको लागि एउटा राम्रो सानो अनलाइन उपकरण बनाएको छु।
मैले अर्को पासवर्ड बल जाँचकर्ताहरू फेला पारे। शब्दकोषमा आधारित तिनीहरूको एल्गोरिथ्म। microsoft.com मा एउटा प्रयास गर्नुहोस् - http://www.microsoft.com/protect/yourself/password/checker.mspx र एउटा itimpl.com मा - http://www.itsimpl.com
धन्यवाद! धन्यवाद! धन्यवाद! म अन्य वेबसाइटहरूबाट डरलाग्दो पासवर्ड बलियो कोड र मेरो कपाल तानेर 2 हप्तादेखि मूर्ख बनाउँदै छु। तपाईंको छोटो छ, मैले चाहेजस्तै काम गर्दछ र सबै भन्दा राम्रो, परिमार्जन गर्न जाभास्क्रिप्ट नौसिखियाको लागि सजिलो! म शक्तिको निर्णय क्याप्चर गर्न चाहन्थें र फारम पोस्टलाई प्रयोगकर्ताको पासवर्ड वास्तवमा अद्यावधिक गर्न नदिनुहोस् जबसम्म यसले बल परीक्षण पूरा गर्दैन। अन्य व्यक्तिको कोड धेरै जटिल थियो वा सही काम गरेन वा अरू केहि। म तिमीलाई माया गर्छु! XXX
तपाईलाई स्वागत छ! तपाईलाई स्वागत छ! तपाईलाई स्वागत छ!
मा पनि तिमीलाई माया गर्छु!
कोडको एक टुक्रा लेख्नका लागि धन्यबाद जुन यसले क्यानमा भनेको जस्तै गर्दछ।
नमस्ते, सर्वप्रथम तपाईको प्रयासको लागि धेरै धेरै धन्यवाद, मैले यसलाई Asp.net को साथ प्रयोग गर्ने प्रयास गरे तर काम गरेन, म प्रयोग गर्दैछु।
ट्यागको सट्टा, र यसले काम गरेन, कुनै सुझाव?!
निसरिनलाई: हाइलाइट गरिएको बक्समा रहेको कोडले काट्ने टाँस्ने काम गर्दैन। एकल उद्धरण गडबड छ। प्रदर्शन लिङ्कको कोड यद्यपि ठीक छ।
हे, मलाई तपाईको स्क्रिप्ट मन पर्छ! मैले यसलाई डच भाषामा अनुवाद गरें, र मैले यसलाई यहाँ मेरो फोरममा पोष्ट गरे!
राम्रो काम! वास्तवमा कसरी यो ग्राहकमा गर्नुपर्छ
धेरै राम्रो काम।।।
धन्यवाद डगलस, म यसलाई मेरो हालको कामको लागि प्रयोग गर्छु।
"P@s$w0rD" बलियो मा देखाउँछ, यद्यपि यो एक शब्दकोश आक्रमण संग एकदम चाँडै क्र्याक हुनेछ...
व्यावसायिक समाधानमा यस्तो सुविधा डिप्लोय गर्नको लागि, म विश्वास गर्छु कि यो एल्गोरिदमलाई डिक्शनरी चेकसँग जोड्नु महत्त्वपूर्ण छ।
XULRunner मा थोरै फेरबदल साथ महान काम गर्दछ। धन्यवाद!
यो सानो कोडको लागि धन्यवाद म अब यसलाई मेरो पासवर्ड बलियो परीक्षण गर्न प्रयोग गर्न सक्छु जब मेरा आगन्तुकहरूले उनीहरूको पासवर्डहरू प्रविष्ट गर्छन्,
कोडिंगको उत्कृष्ट अंश
लिपि सुपर थियो .मले हाम्रो हालको परियोजनामा प्रयोग गरिसकेका थियौं
बाड्नु भएकोमा धन्यवाद!
यति सरल र शानदार अभिव्यक्ति। मैले परिक्षकको रूपमा मेरो TCs यस अभिव्यक्तिबाट निकालेको हो।
बाड्नु भएकोमा धन्यवाद। यस पृष्ठमा तपाईंको केही टुक्रिएका लिंकहरू छन्। FYI।
कसैले बताइदिनु होला, किन मेरो काम भएन।।।
मैले सबै कोड प्रतिलिपि गरें, र नोटप्याड ++ मा टाँसें, तर यसले काम गर्दैन?
कृपया मलाई सहयोग गर्नु..
काल्पनिक !!!!! धन्यवाद।
राम्रो काम केटा! सरल र प्रभावी। धन्यवाद को साझा को लागी!
धन्यवाद
राम्रो, thx। तर... बलियो pw को उदाहरण के हो? 'एउटा भेट्टाउन सकिन!-{}
यस प्रकारको "शक्ति जाँचकर्ता" ले मानिसहरूलाई धेरै खतरनाक बाटोमा लैजान्छ। यसले पासफ्रेज लम्बाइमा वर्ण विविधतालाई महत्त्व दिन्छ, यसले छोटो, धेरै विविध पासवर्डहरूलाई लामो, कम विविध पासवर्डहरू भन्दा बलियो रूपमा मूल्याङ्कन गर्न नेतृत्व गर्दछ। यो एक भ्रम हो जसले तपाइँका प्रयोगकर्ताहरूलाई समस्यामा पार्छ यदि उनीहरूले कहिल्यै गम्भीर ह्याकिंग खतराको सामना गर्छन्।
म असहमत छैन, जोर्डन! उदाहरणलाई लिपिको उदाहरणको रूपमा मात्र बाहिर राखिएको थियो। मानिसहरूका लागि मेरो सिफारिस भनेको कुनै पनि साइटको लागि स्वतन्त्र पासफ्रेजहरू सिर्जना गर्न पासवर्ड व्यवस्थापन उपकरण प्रयोग गर्नु हो जुन यसको लागि अद्वितीय छ। धन्यवाद!
धन्यवाद यो राम्रो काम गर्दछ।
धन्यवाद यो राम्रो काम गर्दछ
म साँच्चिकै कदर गर्छु तपाईलाई धेरै पटक खोजी गरिएको छ तर अन्तमा मैले तपाईको पोष्ट पाएँ र साँच्चै चकित छु। धन्यवाद
धन्यवाद साथी। भर्खर मेरो वेबसाइटमा तैनाथ गरिएको छ र यसले धेरै राम्रोसँग काम गरिरहेको छ।
त्यो सुन्न मनपर्छ! तपाईलाई धेरै स्वागत छ!
म तपाईंलाई साझेदारी गर्न कदर गर्छु! हाम्रो वेबसाइटमा पासवर्ड बलियो बनाउन खोज्दै हुनुहुन्छ र यसले मैले चाहेको तरिकाले काम गर्यो। धेरै धेरै धन्यवाद!
धन्यवाद, आशा छ कि तपाइँ यसलाई आवश्यकता अनुसार अनुकूलित गर्न सक्षम हुनुहुन्छ।
तपाईं एक लाइभ सेभर हुनुहुन्छ! मैले स्ट्रिङहरू बाँया दायाँ र बीचमा पार्स गर्दै थिएँ र त्यहाँ राम्रो तरिका हो र Regex प्रयोग गरेर तपाईंको कोडको टुक्रा फेला पारे। मेरो साइट को लागी यो संग tinkle गर्न सक्षम थियो ... तपाईलाई थाहा छैन यसले कति मद्दत गर्यो। धेरै धेरै धन्यवाद डगलस !!
सुन्न ठूलो!