所以我正在做一个表单验证项目。我们得到了一组输入必须满足的标准,我们必须使用正则表达式来检查所有内容。我已经把所有的东西都编码了,除了第一个输入之外,一切都很完美。它检查正则表达式,但如果匹配有任何问题,它将返回 true 而不是 false,并将窗口带到“接受表单”页面。
function validate_registration(){
var RegExpName = /^[A-Z a-z]+$/;
var RegExpCourseId = /^WEB*([1-9]{1})*[0-9]{2}$/;
var studentName = document.reg_page.student_name.value;
var courseID = document.reg_page.course_id.value;
if (!RegExpName.test(studentName))
{
alert("Please enter the name on your Student ID");
document.reg_page.s.focus();
document.reg_page.s.select();
return false;
}
else if (!RegExpCourseId.test(courseID))
{
alert("Please enter a valid Course ID");
document.reg_page.c.focus();
document.reg_page.c.select();
return false;
}
}
<div id="container">
<div id="page">
<form name="reg_page" method="post" onSubmit="return validate_registration();" action="thanks.htm" >
<table id="form">
<tr>
<td colspan="2"><div id="table_title">Web Registration Form</div></td>
</tr>
<tr>
<td class="label">Student Name:</td><td><input name="student_name" id="s" size="15" /></td>
</tr>
<tr>
<td class="label">Course ID:</td><td><input name="course_id" id="c" size="10" /></td>
</tr>
这是 javascript 和表单的相关部分。课程 ID 区域完美运行。如果为空,则返回 false,并突出显示文本输入字段。为什么它不会对学生姓名做同样的事情?