为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

皈依舞 2023-07-20 14:43:49
我目前正在学习 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>
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

实际上,问题在于函数的右大括号,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");

  }

}


查看完整回答
反对 回复 2023-07-20
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信