JavaScript ਜਾਂ jQuery ਅਤੇ ਨਿਯਮਤ ਸਮੀਕਰਨ (ਸਰਵਰ-ਸਾਈਡ ਉਦਾਹਰਨਾਂ ਦੇ ਨਾਲ, ਵੀ!) ਨਾਲ ਪਾਸਵਰਡ ਦੀ ਤਾਕਤ ਦੀ ਜਾਂਚ ਕਰੋ।
ਮੈਂ ਇੱਕ ਪਾਸਵਰਡ ਤਾਕਤ ਜਾਂਚਕਰਤਾ ਦੀ ਇੱਕ ਚੰਗੀ ਉਦਾਹਰਣ ਲੱਭਣ ਲਈ ਕੁਝ ਖੋਜ ਕਰ ਰਿਹਾ ਸੀ ਜੋ ਵਰਤਦਾ ਹੈ ਜਾਵਾਸਕਰਿਪਟ ਅਤੇ ਨਿਯਮਿਤ ਸਮੀਕਰਨ (ਰੇਜੈਕਸ). ਮੇਰੇ ਕੰਮ 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ, ਅਸੀਂ ਪਾਸਵਰਡ ਦੀ ਤਾਕਤ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਇੱਕ ਪੋਸਟ ਵਾਪਸ ਕਰਦੇ ਹਾਂ ਅਤੇ ਇਹ ਸਾਡੇ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਕਾਫ਼ੀ ਅਸੁਵਿਧਾਜਨਕ ਹੈ।
Regex ਕੀ ਹੈ?
ਇੱਕ ਨਿਯਮਿਤ ਸਮੀਕਰਨ ਅੱਖਰਾਂ ਦਾ ਇੱਕ ਕ੍ਰਮ ਹੈ ਜੋ ਇੱਕ ਖੋਜ ਪੈਟਰਨ ਨੂੰ ਪ੍ਰਭਾਸ਼ਿਤ ਕਰਦੇ ਹਨ. ਆਮ ਤੌਰ ਤੇ, ਅਜਿਹੇ ਪੈਟਰਨ ਦੀ ਵਰਤੋਂ ਸਤਰਾਂ ਦੀ ਖੋਜ ਐਲਗੋਰਿਦਮ ਲਈ ਦਾ ਪਤਾ or ਲੱਭੋ ਅਤੇ ਤਬਦੀਲ ਕਰੋ ਸਤਰਾਂ ਤੇ ਕਾਰਜ, ਜਾਂ ਇੰਪੁੱਟ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ.
ਇਹ ਲੇਖ ਨਿਸ਼ਚਤ ਤੌਰ ਤੇ ਤੁਹਾਨੂੰ ਨਿਯਮਤ ਸਮੀਕਰਨ ਸਿਖਾਉਣ ਲਈ ਨਹੀਂ ਹੈ. ਬੱਸ ਇਹ ਜਾਣ ਲਓ ਕਿ ਨਿਯਮਤ ਸਮੀਕਰਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਯੋਗਤਾ ਤੁਹਾਡੇ ਵਿਕਾਸ ਨੂੰ ਬਿਲਕੁਲ ਅਸਾਨ ਬਣਾ ਦੇਵੇਗੀ ਜਦੋਂ ਤੁਸੀਂ ਟੈਕਸਟ ਵਿਚ ਪੈਟਰਨਾਂ ਦੀ ਖੋਜ ਕਰਦੇ ਹੋ. ਇਹ ਯਾਦ ਰੱਖਣਾ ਵੀ ਮਹੱਤਵਪੂਰਣ ਹੈ ਕਿ ਬਹੁਤੀਆਂ ਵਿਕਾਸ ਭਾਸ਼ਾਵਾਂ ਨੇ ਨਿਯਮਤ ਸਮੀਕਰਨ ਦੀ ਵਰਤੋਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਇਆ ਹੈ ... ਇਸ ਲਈ ਸਟ੍ਰੈਜ ਨੂੰ ਕਦਮ-ਦਰ-ਵਾਰ ਪਾਰਸ ਕਰਨ ਅਤੇ ਖੋਜ ਕਰਨ ਦੀ ਬਜਾਏ, ਰੇਗੇਕਸ ਆਮ ਤੌਰ 'ਤੇ ਸਰਵਰ ਅਤੇ ਕਲਾਇੰਟ-ਸਾਈਡ ਦੋਵੇਂ ਬਹੁਤ ਤੇਜ਼ ਹਨ.
ਮੈਨੂੰ ਲੱਭਣ ਤੋਂ ਪਹਿਲਾਂ ਮੈਂ ਵੈੱਬ ਨੂੰ ਥੋੜਾ ਜਿਹਾ ਖੋਜਿਆ ਇੱਕ ਉਦਾਹਰਣ ਕੁਝ ਵਧੀਆ ਨਿਯਮਿਤ ਸਮੀਕਰਨਾਂ ਦੇ ਜੋ ਲੰਬਾਈ, ਅੱਖਰਾਂ ਅਤੇ ਚਿੰਨ੍ਹਾਂ ਦੇ ਸੁਮੇਲ ਦੀ ਭਾਲ ਕਰਦੇ ਹਨ। ਹਾਲਾਂਕਿ, ਕੋਡ ਮੇਰੇ ਸੁਆਦ ਲਈ ਥੋੜਾ ਬਹੁਤ ਜ਼ਿਆਦਾ ਸੀ ਅਤੇ .NET ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਸੀ। ਇਸ ਲਈ ਮੈਂ ਕੋਡ ਨੂੰ ਸਰਲ ਬਣਾਇਆ ਅਤੇ ਇਸਨੂੰ JavaScript ਵਿੱਚ ਪਾ ਦਿੱਤਾ। ਇਹ ਇਸਨੂੰ ਵਾਪਸ ਪੋਸਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕਲਾਇੰਟ ਦੇ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਰੀਅਲ-ਟਾਈਮ ਵਿੱਚ ਪਾਸਵਰਡ ਦੀ ਤਾਕਤ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ... ਅਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਪਾਸਵਰਡ ਦੀ ਤਾਕਤ ਬਾਰੇ ਕੁਝ ਫੀਡਬੈਕ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
ਇੱਕ ਪਾਸਵਰਡ ਟਾਈਪ ਕਰੋ
ਕੀਬੋਰਡ ਦੇ ਹਰੇਕ ਸਟ੍ਰੋਕ ਦੇ ਨਾਲ, ਪਾਸਵਰਡ ਦੀ ਨਿਯਮਤ ਸਮੀਕਰਨ ਦੇ ਵਿਰੁੱਧ ਜਾਂਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਫਿਰ ਇਸਦੇ ਹੇਠਾਂ ਇੱਕ ਸਪੈਨ ਵਿੱਚ ਉਪਭੋਗਤਾ ਨੂੰ ਫੀਡਬੈਕ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ.
JavaScript ਪਾਸਵਰਡ ਤਾਕਤ ਫੰਕਸ਼ਨ
The ਨਿਯਮਿਤ ਸਮੀਕਰਨ ਕੋਡ ਦੀ ਲੰਬਾਈ ਨੂੰ ਘੱਟ ਕਰਨ ਦਾ ਸ਼ਾਨਦਾਰ ਕੰਮ ਕਰੋ। ਇਹ 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 ਦੇ ਨਾਲ, ਸਾਨੂੰ ਅਸਲ ਵਿੱਚ ਇੱਕ ਔਨਇਨਪੁੱਟ ਅਪਡੇਟ ਨਾਲ ਫਾਰਮ ਲਿਖਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ:
<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";
}
}
ਪਾਸਵਰਡ ਦੀ ਤਾਕਤ ਲਈ ਪਾਈਥਨ ਫੰਕਸ਼ਨ
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";
}
}
ਅਤੇ ਜੇਕਰ ਤੁਸੀਂ ਸਿਰਫ਼ ਇੱਕ ਵਧੀਆ ਪਾਸਵਰਡ ਜਨਰੇਟਰ ਦੀ ਤਲਾਸ਼ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਮੈਂ ਇਸਦੇ ਲਈ ਇੱਕ ਵਧੀਆ ਛੋਟਾ ਔਨਲਾਈਨ ਟੂਲ ਬਣਾਇਆ ਹੈ।