我目前正在学习 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");
}
}
添加回答
举报
0/150
提交
取消