[英]Password strength test in Javascript
所以我正在為我的 JS 類編寫一個程序,我編寫的代碼只是一些我不理解的問題。
let readlineSync = require('readline-sync')
let userPassword = readlineSync.question('Please enter a password ')
const testPassword = (password, rulesRegexp, rulesText) => {
for (let i in rulesRegexp) {
console.log(rulesText[i]);
console.log(`Status: ${rulesRegexp[i].rule.test(password)}`);
}
};
const rules = [
{ rule: /[A-Z]/ },
{ rule: /[a-z]/ },
{ rule: /[0-9]/ },
{ rule: /[@#$%^]/ },
{ rule: /.{8,}/g },
];
const ruleText = [
"One or more uppercase letters",
"One or more lower case letters",
"One or more numbers",
"One or more from this group @#$%^",
"Minimum length 8 characters",
];
testPassword(userPassword, rules, ruleText);
我需要規則和測試在同一行,我需要它說通過或失敗而不是真或假。 我有人可以幫助我將不勝感激。
它們位於不同的行上,因為這就是登錄到控制台的工作方式。 對於通過/失敗,檢查test
方法是否為真/假並使用三元更改輸出。
您可以推送到一個數組並像這樣記錄:
const testPassword = (password, rulesRegexp, rulesText) => {
const results = []
for (let i in rulesRegexp) {
const result = `${rulesText[i]} Status: ${rulesRegexp[i].rule.test(password) ? 'Passed' : 'Failed'}`
results.push(result)
}
console.log(results.join('\n'))
};
示例輸出:
One or more uppercase letters Status: Failed
One or more lower case letters Status: Passed
One or more numbers Status: Passed
One or more from this group @#$%^ Status: Failed
Minimum length 8 characters Status: Passed
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.