今天,我发现巨魔几乎没有病情。但基本是 “如果我通过考试,那么我必须安排一个聚会。但是,如果我考试不及格,那么我就必须专心学习。”
这是一个简单的if,else条件。但是我面临太多问题。我不得不提到我正在学习JS。对我来说,这么简单的问题似乎很难。
我提出了“考试通过或失败”的其他条件。但是,当我输入价值证明“通过条件”时,我感到震惊。
注意:我将“通过”标记为“好”,将“失败”标记为“差”。
我所面对的让我解释一下:(
当我输入“好”字除外。然后我需要输入“好”或“不好”的消息
如果我输入任何数字,则需要输入一条消息以输入“好”或“坏”
如果我提交的输入字段没有任何值。然后我需要输入“好”或“不好”之类的消息
我亲手制作了一个剧本。但是我面临太多未解决的问题。
如果我按照此模式“ textnumber”输入输入 例如。 “ good123” 然后显示未定义。我不为什么:( 为什么将“ good123”标记为“ typeof”“ undefined”?
对我来说最神秘的事情。如果输入“良好”,则显示正确的条件输出,但是如果输入“良好”,则显示未定义。 我的意思是:如果输入区分大小写的单词,则输入不满足条件。在我的示例中,我以某种方式解决了它。但是请找我,有什么办法可以解决这个问题。
最后,我用自己的方式编写了一个脚本。可以使用其他任何方式来创建此项目,也可以通过其他方式简化脚本。如果您建议我,我将不胜感激。还请建议我如何克服所面临的问题。没有我的方式,可以通过其他任何方式解决这些已注意到的问题。
问候 里扎尔博士
<!--The Script Is Made By Md Rizaur Rahman from https://stackoverflow.com/users/9192572/md-rizaur-rahman-->
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Simple Logic By Md Rizaur Rahman</title>
</head>
<body>
<script>
function logic() {
var userInput = document.getElementById("logic").value;
var input = userInput.toLowerCase();
var onlyStr = /^[a-zA-z]+$/;
var onlyNum =/^[0-9]+$/;
var output;
if(input === "good"){
output = "Lets Party"
}
else if(input === "bad"){
output = "Please Study Attentively"
}
else if ((input.match(onlyStr)) && (input !== "good")){
output = "You Enter String Without \"Good\" Word. Please Enter Good or Bad";
}
else if(input.match(onlyNum)){
output = "You Enter A Number. Please Enter Good or Bad";
}
else if (input.trim() == ""){
output = "Please Enter Any Value or Please Enter Good or Bad";
}
else{
output = "Your Input Type Is Marked As Undefined. Please Enter Any Value or Please Enter Good or Bad";
}
alert (output);
}
</script>
<input type="text" id="logic">
<button onclick="logic()" type="submit" id="input">Submit</button>
<p id="html_output"></p>
</body>
</html>
答案 0 :(得分:0)
它被标记为未定义,因为它不满足以上任何条件(它不匹配正则表达式,也不是“好”或“坏”)。将正则表达式更改为/^[a-zA-z0-9]+$/
(接受0到9之间的数字),然后使用else if
将检查数字值放在!isNaN(input)
的前面。在检查输入等于“好”还是“坏”之前,还应该将输入更改为小写。为了使isNaN
检查正常运行,您还需要检查input
是否全部为空格(if(!input.trim().length)
),因为空格也被视为数字(不是NaN)。
<!--The Script Is Made By Md Rizaur Rahman from https://stackoverflow.com/users/9192572/md-rizaur-rahman-->
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Simple Logic By Md Rizaur Rahman</title>
</head>
<body>
<script>
function logic() {
var userInput = document.getElementById("logic").value;
var input = userInput.toLowerCase();
var onlyStr = /^[a-zA-z0-9]+$/;
var onlyNum =/^[0-9]+$/;
var output;
if(input.toLowerCase() === "good"){
output = "Lets Party"
}
else if(input.toLowerCase() === "bad"){
output = "Please Study Attentively"
}
else if(!input.trim().length){
output = "Input can not be empty!";
}
else if(!isNaN(input)){
output = "You Enter A Number. Please Enter Good or Bad";
}
else if ((input.match(onlyStr)) && (input !== "good")){
output = "You Enter String Without \"Good\" Word. Please Enter Good or Bad";
}
else if (input.trim() == ""){
output = "Please Enter Any Value or Please Enter Good or Bad";
}
else{
output = "Your Input Type Is Marked As Undefined. Please Enter Any Value or Please Enter Good or Bad";
}
alert (output);
}
</script>
<input type="text" id="logic">
<button onclick="logic()" type="submit" id="input">Submit</button>
<p id="html_output"></p>
</body>
</html>