javascript - 尝试使用 OnClick 和函数验证 JavaScript 输入。无论输入什么,它都说格式正确。

标签 javascript regex validation input

我有一个 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/

相关文章:

javascript - 使用 Joi 和 nodeJS 验证嵌套对象中的唯一键对

javascript - "Scroll"长文本输入的最右边

javascript - 在页面刷新上调用的是哪个生命周期方法?

javascript - 检查复选框是否被选中

regex - 用于替换匹配模式的多行的正则表达式

regex - python regex 如何避免匹配多个分号?

javascript - 限制最多一次使用任何字符 在 Javascript 中使用正则表达式

javascript - Google 图表 - 工具提示中的图表

c# - 验证的最佳位置在哪里......构造函数或留给客户端调用?

asp.net - 什么决定了顺序验证器触发?