JavaScript表单,带有验证

JavaScript表单,带有验证,javascript,html,forms,validation,Javascript,Html,Forms,Validation,我目前正在使用html编写“表单条目”。我还使用JavaScript验证来验证表单中的输入。到目前为止,我有‘姓名’、‘科目’和‘考试编号’。但是,我的验证不适用于我的考试编号。对于检查编号,我希望验证确保输入仅为4位数字,因此我添加了“maxlength=”4“。如果有人能帮助我进行验证,首先验证考试编号,并确保输入为四位数字,这将非常有用,谢谢 这是我的密码: <head> <title>Exam Entry</title> <script la

我目前正在使用html编写“表单条目”。我还使用JavaScript验证来验证表单中的输入。到目前为止,我有‘姓名’、‘科目’和‘考试编号’。但是,我的验证不适用于我的考试编号。对于检查编号,我希望验证确保输入仅为4位数字,因此我添加了“maxlength=”4“。如果有人能帮助我进行验证,首先验证考试编号,并确保输入为四位数字,这将非常有用,谢谢

这是我的密码:

<head>

<title>Exam Entry</title>

<script language="javascript" type="text/javascript">

function validateForm(e) {

    var result = true;
    var msg="";

    if (document.ExamEntry.name.value=="") {
        msg+="You must enter your name \n";
        document.ExamEntry.name.focus();
        document.getElementById('name').style.color="red";
        result = false;
    }

    if (document.ExamEntry.subject.value=="") {
        msg+="You must enter the subject \n";
        document.ExamEntry.subject.focus();
        document.getElementById('subject').style.color="red";
        result = false;
    }

    if (document.ExamEntry.Examination_number.value=="4") {
        msg+="You must enter your Examination number \n";
        document.ExamEntry.Examination_number.focus();
        document.getElementById('Examination_number').style.color="red";
        result = false;
    }

    if (msg != "") {
        alert(msg);
    }

    return result;
}
</script>



</head>

<body>
<h1>Exam Entry Form</h1>
<form name="ExamEntry" method="post" action="success.html" onsubmit="return validateForm();">
    <table width="60%" border="0">
        <tr>
            <td id="name">Name</td>
            <td><input type="text" name="name" /></td>
        </tr>
        <tr>
            <td id="subject">Subject</td>
            <td><input type="text" name="subject" /></td>
        </tr>
            <td id="Examination_number">Examination number</td>
            <td><input type="text" maxlength="4" name="Examination_number" /></td>
        </tr>
        <tr>
            <td><input type="submit" name="Submit" value="Submit" /></td>
            <td><input type="reset" name="Reset" value="Reset" /></td>
        </tr>
    </table>
</form>
</body>

</html>

报考
函数validateForm(e){
var结果=真;
var msg=“”;
if(document.ExamEntry.name.value==“”){
msg+=“您必须输入您的姓名\n”;
document.ExamEntry.name.focus();
document.getElementById('name').style.color=“红色”;
结果=假;
}
if(document.ExamEntry.subject.value==“”){
msg+=“您必须输入主题\n”;
document.ExamEntry.subject.focus();
document.getElementById('subject').style.color=“red”;
结果=假;
}
if(文件.考试.考试编号.值==“4”){
msg+=“您必须输入您的考试编号\n”;
文件.考试.考试号.焦点();
document.getElementById(“检查编号”).style.color=“红色”;
结果=假;
}
如果(msg!=“”){
警报(msg);
}
返回结果;
}
报考表
名称
主题
考试号码

它不是。value==“4”它是。value.length==4

它不是。value==“4”它是。value.length==4

它不是。value==“4”它是。value.length==4

它不是。value==“4”它是。value.length==4

你实际上可以使用html5,不需要javascript

与maxlength属性一起,包括以下属性:

pattern="\d{4}"
“pattern”属性允许您指定用于验证输入的正则表达式模式

\d
是regex,意思是“数字”
{4}
是regex,意思是重复4次

maxlength属性现在实际上是多余的,并且可以删除,因为正则表达式将自己限制输入的长度

因此,总体而言,您的元素可以如下所示:

<input type="text" pattern="\d{4}" name="Examination_number" />


还有一点需要注意:记住客户端验证并不等同于服务器端验证,这一点也很重要。任何具有基本webdev知识的人仍然可以将无效的
检查编号
值发布到您的服务器。您的服务器还必须能够验证这些值。

您实际上可以使用html5进行验证,不需要javascript

与maxlength属性一起,包括以下属性:

pattern="\d{4}"
“pattern”属性允许您指定用于验证输入的正则表达式模式

\d
是regex,意思是“数字”
{4}
是regex,意思是重复4次

maxlength属性现在实际上是多余的,并且可以删除,因为正则表达式将自己限制输入的长度

因此,总体而言,您的元素可以如下所示:

<input type="text" pattern="\d{4}" name="Examination_number" />


还有一点需要注意:记住客户端验证并不等同于服务器端验证,这一点也很重要。任何具有基本webdev知识的人仍然可以将无效的
检查编号
值发布到您的服务器。您的服务器还必须能够验证这些值。

您实际上可以使用html5进行验证,不需要javascript

与maxlength属性一起,包括以下属性:

pattern="\d{4}"
“pattern”属性允许您指定用于验证输入的正则表达式模式

\d
是regex,意思是“数字”
{4}
是regex,意思是重复4次

maxlength属性现在实际上是多余的,并且可以删除,因为正则表达式将自己限制输入的长度

因此,总体而言,您的元素可以如下所示:

<input type="text" pattern="\d{4}" name="Examination_number" />


还有一点需要注意:记住客户端验证并不等同于服务器端验证,这一点也很重要。任何具有基本webdev知识的人仍然可以将无效的
检查编号
值发布到您的服务器。您的服务器还必须能够验证这些值。

您实际上可以使用html5进行验证,不需要javascript

与maxlength属性一起,包括以下属性:

pattern="\d{4}"
“pattern”属性允许您指定用于验证输入的正则表达式模式

\d
是regex,意思是“数字”
{4}
是regex,意思是重复4次

maxlength属性现在实际上是多余的,并且可以删除,因为正则表达式将自己限制输入的长度

因此,总体而言,您的元素可以如下所示:

<input type="text" pattern="\d{4}" name="Examination_number" />


还有一点需要注意:记住客户端验证并不等同于服务器端验证,这一点也很重要。任何具有基本webdev知识的人仍然可以将无效的
检查编号
值发布到您的服务器。您的服务器还必须能够验证这些值。

使用regex。。。var regex=/^\d{4}$/

当然,对不起,你可以匹配正则表达式。。。如果(正则表达式测试(检查编号)),则良好

您还可以使用isNaN检查值,以确保获得数字,如: 如果(!isNaN(检查编号))那么好

要使它们结合在一起:

var regex = /^\d{4}$/;
if (document.ExamEntry.Examination_number.value == "") {
  msg+="You must enter your examination number";
  result = false;
} else if (isNaN(document.ExamEntry.Examination_number.value)) {
    msg+="Examination number should only contain digits";
    result = false;
} else if (!regex.test(document.ExamEntry.Examination_number.value)) {
    msg+="Examination number should contain exactly 4 digits";
    result = false;
}

使用正则表达式。。。var regex=/^\d{4}$/

当然,对不起,你可以匹配正则表达式。。。如果(正则表达式测试(检查编号)),则良好

您还可以使用isNaN检查值,以确保获得数字,如: 如果(!isNaN(检查编号))那么好

要使它们结合在一起: