test() 正则表达式返回 true/false,但在 if/else 条件中使用时

我目前正在学习 JavaScript,但我遇到了 if/else 条件不适用于 test() 正则表达式的问题。我尝试摆弄 test() 是否可以返回 true 或 false,它可以,但是当我将它与 if/else 条件一起使用时,它不会在嵌套中继续,因为alert() 没有在内部执行。你能验证一下我的代码有什么问题吗?


<div class="mainBody">

  <span id="firstName">First Name:</span>

  <input id="firstNameInput" type="text" placeholder="First Name" onblur="firstNameValidate()">

  <span id="firstNameResult"></span>

</div>

<p id="test"></p>


<script>

function firstNameValidate() {

  var name = document.getElementById("firstNameInput");

  var result = document.getElementById("firstNameResult");

  var validateName = /[a-zA-Z]/;

  document.getElementById("test").innerHTML = validateName.test(name.value);

  }

  if (validateName.test(name.value)) {

  alert("Correct");

  }

  else {

  alert("Enter First Name");

  }

</script>


皈依舞
浏览 128回答 1
1回答

米琪卡哇伊

实际上,问题在于函数的右大括号,if/else 条件超出了函数的范围(尝试始终缩进代码,这种方式很容易避免/发现这些错误)。function firstNameValidate() {  var name = document.getElementById("firstNameInput");  var result = document.getElementById("firstNameResult");  var validateName = /[a-zA-Z]/;  document.getElementById("test").innerHTML = validateName.test(name.value);  if (validateName.test(name.value)) {    alert("Correct");  } else {    alert("Enter First Name");  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript