【发布时间】:2017-04-22 02:27:51
【问题描述】:
这是一个密码验证Java Script。每次运行 (isPasswordValid('Ggtrt54r$')) 函数时都会出现错误。 我给了大写、小写、8 个字符和特殊字符作为 isPasswordValid 输入。但是每次我收到“('密码无效需要特殊字符')”错误。我的代码无法通过最后一个要求。任何人都可以检查并让我知道我在这里做错了什么。
从这里开始
//主函数
function isPasswordValid(input){
if (hasUpperCase(input) && hasLowerCase(input) && isLongEnough(input) && hasSpecialCharacter(input)) {
console.log('Code works fine !!');
} else if (!hasUpperCase(input)) {
console.log('Password Invalid Needs Uppercase');
}else if (!hasLowerCase(input)) {
console.log('Password Invalid needs lowercase');
} else if (!isLongEnough(input)) {
console.log('Password Invalid needs 8 Characters');
} else if (!hasSpecialCharacter(input)) {
console.log('Password Invalid needs Special Characters');
}
}
function hasUpperCase (input){
for (var i = 0; i < input.length; i++){
if(input[i] === input[i].toUpperCase()){
return true;
}
}
}
function hasLowerCase(input){
for(var i = 0; i < input.length; i++){
if (input[i] === input[i].toLowerCase()){
return true;
}
}
}
function isLongEnough(input){
for(var i = 0; i < input.length; i++){
if (input.length === 8){
return true;
}
}
}
function hasSpecialCharacter(input){
var specialCharacters = ['!', '@', '#', '$', '%', '^', '&', '*'];
for(var i = 0; i < input.length; i++){
for(var j = 0; j < specialCharacters.length; j++){
}
if (input[i] === specialCharacters[j]){
return true;
}
}
}
isPasswordValid('Ggtrt54r$');
$ 是这里的空间字符,但每次它给我错误时都需要特殊字符。谁能帮帮我。
【问题讨论】:
标签: javascript if-statement for-loop while-loop do-while