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

尝试使用OnClick和函数验证JavaScript输入。无论输入什么,都表示格式正确。,javascript,regex,validation,input,Javascript,Regex,Validation,Input,我有一个HTML文件和一个外部JavaScript文件。我在HTML中输入了用户的信息,单击validate按钮,调用courseValidation()函数。问题在于if语句。当输入与myRegExp不匹配时,它应该向页面写入格式不正确,但无论格式是否正确,它总是写入正确的格式。不知道我做错了什么。我只是在学习,所以请不要发表负面评论 HTML文件: 您没有正确检索输入的值var courseCode=document.getElementById(“课程”).innerHTML应该是var

我有一个HTML文件和一个外部JavaScript文件。我在HTML中输入了用户的信息,单击validate按钮,调用courseValidation()函数。问题在于if语句。当输入与myRegExp不匹配时,它应该向页面写入格式不正确,但无论格式是否正确,它总是写入正确的格式。不知道我做错了什么。我只是在学习,所以请不要发表负面评论

HTML文件:


您没有正确检索输入的值
var courseCode=document.getElementById(“课程”).innerHTML应该是
var courseCode=document.getElementById(“courseCode”).value

另外,您的
if
语句是错误的。应改为:

if (courseCode.match(myRegExp)) {
    document.write("Correct Format");
} else {
    document.write("Incorrect Format");
}

您输入的ID是课程代码不是课程,您使用的是.innerhtml,它应该是.value

var courseCode=文档。getElementById('courseCode).value

的可能重复项
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");
}
}
if (courseCode.match(myRegExp)) {
    document.write("Correct Format");
} else {
    document.write("Incorrect Format");
}