Javascript 这个代码有什么问题我不知道有人能帮我吗:
这是一个密码验证Java脚本。每次运行(isPasswordValid('Ggtrt54r$')函数时都会出现错误。 我给出了大写、小写、8个字符和特殊字符作为isPasswordValid输入。但每次我都会收到“(‘密码无效需要特殊字符’)”错误。我的代码无法通过最后的要求。任何人都可以检查一下,让我知道我在这里做错了什么 从这里开始 //主要功能Javascript 这个代码有什么问题我不知道有人能帮我吗:,javascript,if-statement,for-loop,while-loop,do-while,Javascript,If Statement,For Loop,While Loop,Do While,这是一个密码验证Java脚本。每次运行(isPasswordValid('Ggtrt54r$')函数时都会出现错误。 我给出了大写、小写、8个字符和特殊字符作为isPasswordValid输入。但每次我都会收到“(‘密码无效需要特殊字符’)”错误。我的代码无法通过最后的要求。任何人都可以检查一下,让我知道我在这里做错了什么 从这里开始 //主要功能 function isPasswordValid(input){ if (hasUpperCase(input) &&
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$');
函数isPasswordValid(输入){
if(hassuppercase(输入)&&hasslowercase(输入)&&islongtough(输入)&&hasSpecialCharacter(输入)){
log('代码工作正常!!');
}如果(!hassuppercase(输入)){
log('密码无效需要大写');
}如果(!hasLowerCase(输入)){
log('密码无效需要小写');
}如果(!IsLong足够长(输入)){
console.log('密码无效需要8个字符');
}如果(!hasSpecialCharacter(输入)){
log('密码无效需要特殊字符');
}
}
函数大写(输入){
对于(变量i=0;i
$是此处的空间字符,但每次给我错误时都需要特殊字符。有人能帮我吗
for(var j=0;j
我想你的意思是:
for(var j = 0; j < specialCharacters.length; j++){
if (input[i] === specialCharacters[j]){
return true;
}
}
for(var j=0;j
试试这个:2个bug
它与上面的8
char匹配,因此使用
if (input.length >= 8){
而for循环是个问题。在循环之后应用条件。所以
像这样在循环内部进行更改
for(var i = 0; i < input.length; i++){
for(var j = 0; j < specialCharacters.length; j++){
if (input[i] === specialCharacters[j]){
return true;
}
}
for(变量i=0;i
函数isPasswordValid(输入){
if(hassuppercase(输入)&&hasslowercase(输入)&&islongtough(输入)&&hasSpecialCharacter(输入)){
log('代码工作正常!!');
}如果(!hassuppercase(输入)){
console.log('密码无效需要大写';}
如果(!hasLowerCase(输入)){
console.log('密码无效需要小写';}
如果(!IsLong足够长(输入)){
console.log('密码无效需要8个字符');
}如果(!hasSpecialCharacter(输入)){
console.log('密码无效需要特殊字符';}
}
函数大写(输入){
对于(变量i=0;i=8){
返回true;
}
}
}
函数hasSpecialCharacter(输入){
变量specialCharacters=['!'、'@'、'#'、'$'、'%'、'^'、'&'、'*'];
对于(变量i=0;i isPasswordValid('Ggtrt54r$);
是的,谢谢你。我应该更加小心这一切错误……它浪费了我很多时间:)谢谢你的回复和解决方案
for(var i = 0; i < input.length; i++){
for(var j = 0; j < specialCharacters.length; j++){
if (input[i] === specialCharacters[j]){
return true;
}
}