我有一个 HTML 文件和一个外部 JavaScript 文件。我在 HTML 中收到了用户的输入,然后单击验证按钮,调用 courseValidation() 函数。问题出在 if 语句上。当输入与myRegExp不匹配时,它应该向页面写入格式不正确,但无论正确与否,它总是写入正确的格式。不确定我做错了什么。我刚刚学习,所以请不要发表负面评论。
HTML 文件:
<html lang="en">
<head>
<title>Validation</title>
</head>
<body>
<script src="course.js"></script>
<p>Enter Course Information:</p>
<input id="courseCode" type="text">
<button onclick="courseValidation()">Validate</button>
<p id="course"></p>
</body>
</html>
外部 JavaScript 文件:
function courseValidation() {
var courseCode = document.getElementById("course").innerHTML;
var myRegExp = /\D{3}.\d{3}#\d{4}_\D{2}-\d{4}/;
if (courseCode.match(myRegExp)) {
document.write("Incorrect Format");
} else {
document.write("Correct Format");
}
}
最佳答案
您没有正确检索输入的值。 var courseCode = document.getElementById("course").innerHTML;
应该是 var courseCode = document.getElementById("courseCode").value;
。
此外,您的 if
语句是错误的。它应该是:
if (courseCode.match(myRegExp)) {
document.write("Correct Format");
} else {
document.write("Incorrect Format");
}
关于javascript - 尝试使用 OnClick 和函数验证 JavaScript 输入。无论输入什么,它都说格式正确。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44620447/