检查输入是否错误

时间:2019-09-11 21:56:28

标签: javascript

我要输入字母。然后,我应该检查该字母是否为预列表中的字母之一,然后再显示一些单词

!==不适用于字母

<!DOCTYPE html>
<html>
<body>
<p>Type H/B/U:</p>

<input id="tipping" value="H" type="text"/>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
  var b,r4;
  b= document.getElementById("tipping").value;
 if (b !=="H"||b !=="U" ||b !=="B") {
   r4="Du har ikke brukt stort bokstav eller tastet ugyldig tegn";
 } else if (b==="H"){
   r4="Hjemme";
 } else if (b==="U"){
   r4="Uavgjort";
 } else if(b==="B") {
   r4="Borte";
 }
   document.getElementById("demo").innerHTML = r4;
}
</script>

</body>
</html>

应该只键入B,H,U。如果键入B,则显示消息Borte,依此类推。

3 个答案:

答案 0 :(得分:1)

您的逻辑是错误的。为了使其不进入第一个if语句,B必须为三个值。由于变量不能是三件事,因此它会失败。您的逻辑应该使用AND,而不是OR。

但是这种逻辑仍然没有意义。您应该拥有其他。

function myFunction() {
  var b, r4;
  b = document.getElementById("tipping").value.toUpperCase();
  if (b === "H") {
    r4 = "Hjemme";
  } else if (b === "U") {
    r4 = "Uavgjort";
  } else if (b === "B") {
    r4 = "Borte";
  } else {
    r4 = "Du har ikke brukt stort bokstav eller tastet ugyldig tegn";
  }
  document.getElementById("demo").innerHTML = r4;
}
<input id="tipping" value="H" type="text" />

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

答案 1 :(得分:1)

这有效

如果用户输入小写字母h,u,b

,您还想确保它可以正常工作
<!DOCTYPE html>
<html>
<body>
<p>Type H/B/U:</p>

<input id="tipping" value="H" type="text"/>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
  var b,r4;
  b= document.getElementById("tipping").value;

  if(b === "B" || b === "b"){
    r4="Borte";
  } else if( b === "U" || b === "u"){
    r4="Uavgjort";
  } else if( b  === "H" || b  === "h"){
    r4="Hjemme";
  } else {
    r4="Du har ikke brukt stort bokstav eller tastet ugyldig tegn";
  }
   document.getElementById("demo").innerHTML = r4;
}
</script>

</body>
</html>

或使用其他现代方式

<!DOCTYPE html>
<html>
<body>
<p>Type H/B/U:</p>

<input id="tipping" value="H" type="text"/>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
  var b,r4;
  b= document.getElementById("tipping").value;

  b === "H" || b === "h" ? r4 = "Hjemme" :
  b === "U" || b === "u" ? r4 = "Uavgjort" :
  b === "B" || b === "b" ? r4 = "Borte" :
  r4 = "Du har ikke brukt stort bokstav eller tastet ugyldig tegn" 


   document.getElementById("demo").innerHTML = r4;
}
</script>

</body>
</html>

答案 2 :(得分:0)

在这里switch()更合适。如果输入不匹配“ H”,“ U”或“ B”,则显示默认文本。

<html>
  <head>
    <script>
      function myFunction() {
        b = document.getElementById("tipping").value;
        switch (b) {
          case "H":
            r4 = "Hjemme";
            break;
          case "U":
            r4 = "Uavgjort";
            break;
          case "B":
            r4 = "Borte";
            break;
          default:
            r4 = "Du har ikke brukt stort bokstav eller tastet ugyldig tegn";
        }
        document.getElementById("demo").innerHTML = r4;
      }
    </script>
  </head>
  <body>
    <p>Type H/B/U:</p>
    <input id="tipping" value="H" type="text" />
    <button onclick="myFunction()">Try it</button>
    <p id="demo"></p>
  </body>
</html>