Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单验证是';对于整个表单的一个输入字段,t实际返回false_Javascript_Regex_Html_Validation - Fatal编程技术网

Javascript 表单验证是';对于整个表单的一个输入字段,t实际返回false

Javascript 表单验证是';对于整个表单的一个输入字段,t实际返回false,javascript,regex,html,validation,Javascript,Regex,Html,Validation,所以我正在做一个表单验证项目。我们得到了一组输入必须满足的标准,我们必须使用正则表达式来检查所有内容。我已经把所有的东西都编码好了,除了第一次输入,所有的东西都工作得很好。它检查正则表达式,但是如果匹配有任何错误,它将返回true而不是false,并将窗口带到“FormAccepted”页面 函数验证\注册(){ var RegExpName=/^[A-Z A-Z]+$/; var RegExpCourseId=/^WEB*([1-9]{1})*[0-9]{2}$/; var studentNa

所以我正在做一个表单验证项目。我们得到了一组输入必须满足的标准,我们必须使用正则表达式来检查所有内容。我已经把所有的东西都编码好了,除了第一次输入,所有的东西都工作得很好。它检查正则表达式,但是如果匹配有任何错误,它将返回true而不是false,并将窗口带到“FormAccepted”页面

函数验证\注册(){
var RegExpName=/^[A-Z A-Z]+$/;
var RegExpCourseId=/^WEB*([1-9]{1})*[0-9]{2}$/;
var studentName=document.reg\u page.student\u name.value;
var courseID=document.reg\u page.course\u id.value;
如果(!RegExpName.test(studentName))
{
警告(“请在学生ID上输入姓名”);
document.reg_page.s.focus();
document.reg_page.s.select();
返回false;
}
否则如果(!RegExpCourseId.test(courseID))
{
警报(“请输入有效的课程ID”);
document.reg_page.c.focus();
document.reg_page.c.select();
返回false;
}
}
网上登记表格
学生姓名:
课程编号:

这就是javascript和表单的相关部分。课程ID区域工作正常。如果为空,则返回false,并高亮显示文本输入字段。为什么学生的名字不一样?

这就是全部代码吗

此代码适用于我(FireFox):


网上登记表格
学生姓名:
课程编号:

您可能只是忘记关闭函数了吗?

我建议只使用两个if语句而不是一个else if语句,看看这有什么用。

我没有任何问题。我必须添加一个提交按钮,显然我没有Thanke.htm页面,但这里是JSFIDLE:。我是否做了与您尝试的内容/您将代码放置在何处不同的事情?

这本身并不是一个真正的答案,但既然如此,在我有50个代表之前,不要让我发表评论,这就是我必须处理的问题

无论如何,你的代码在Linux上的Chromium上对我来说很好。你能发布你的目标系统的信息吗?您使用的是什么浏览器和操作系统?您还可以澄清什么应该和不应该通过您的验证。我试着遵循正则表达式(我对正则表达式不是很有经验),它似乎通过了它应该通过的一切,在这种情况下,它似乎是没有数字或符号的任何东西


您可以尝试的另一件事是在尝试使用脚本后发布控制台日志,以查看是否有一些关于问题实际位置的有用信息。

如果使用jQuery是一个选项,是否签出jQuery验证插件?

如果这是您的实际代码,并且您没有出现复制粘贴错误,则您的函数缺少一个右括号。这不是我的实际代码。只需复制并粘贴函数和表单的前半部分,因为这就是问题所在。您在哪里看到问题?这似乎是正确的:@shmiddy它在哪里。找不到@PraveenKumar我编辑了格式化代码,并将右括号放进去。关闭您拥有的主函数是一个
}
函数确实已关闭。我只是复制了其中的一半,因为另一半没有问题,我忘了在帖子中关闭它。我的错。
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>
<!DOCTYPE html>
<html>
<head>
<script language="JavaScript">
<!--
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;
    }
}
//-->
</script>
</head>
<body>

    <form name="reg_page" method="post" onSubmit="return validate_registration();">
    <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>
        <input type="submit" value="submit">
     </table>
     </form>
     </body>
     </html>