JavaScript中的学生注册表单验证
我一直在用JavaScript编写一个学生注册表单验证,但它根本不起作用。我甚至尝试过编写各种日志语句进行调试,但似乎根本没有调用函数(?) 如果你们能让我知道我在这件事上出了什么问题,那会很有帮助的。 代码如下:JavaScript中的学生注册表单验证,javascript,html,Javascript,Html,我一直在用JavaScript编写一个学生注册表单验证,但它根本不起作用。我甚至尝试过编写各种日志语句进行调试,但似乎根本没有调用函数(?) 如果你们能让我知道我在这件事上出了什么问题,那会很有帮助的。 代码如下: 函数allLetter(){ var name=document.querySelector(“#name”).value; 变量字母=/^[A-Za-z]*$/; if(名称、测试(字母)){ 返回true; }否则{ 警告(“无效名称”); 返回false; } } 函数ro
函数allLetter(){
var name=document.querySelector(“#name”).value;
变量字母=/^[A-Za-z]*$/;
if(名称、测试(字母)){
返回true;
}否则{
警告(“无效名称”);
返回false;
}
}
函数rollnumber(){
var roll=document.querySelector(“#roll”).value;
var phoneno=/^\d{7}$/;
if(滚动测试(电话号码)){
返回true;
}否则{
警告(“不是有效的卷号”);
返回false;
}
}
功能日期(){
var date=document.querySelector(“#date”).value;
如果(!日期){
返回true;
}
否则{
警报(“空日期”);
返回false;
}
}
函数检查(){
var t1=allLetter();
var t2=rollnumber();
var t3=日期();
控制台日志(t1);
控制台日志(t2);
控制台日志(t3);
如果(t1&&t2&&t3){
警报(“注册成功”);
返回true;
}否则{
警报(“一个或多个字段设置不正确”);
返回false;
}
}
学生登记表
姓名:
卷号:
出生日期:
您颠倒了.test方法的使用。
您应该在左边使用正则表达式,因为.test是正则表达式的一种方法。
下面是您的代码:
function allLetter() {
var name = document.querySelector("#name").value;
var letters = /^[A-Za-z]*$/;
if (letters.test(name)) {
return true;
} else {
alert("Not a valid Name");
return false;
}
}
function rollnumber() {
var roll = document.querySelector("#roll").value;
var phoneno = /^\d{7}$/;
if (phoneno.test(roll)) {
return true;
} else {
alert("Not a valid Roll Number");
return false;
}
}
function date() {
var date = document.querySelector("#date").value;
if (!date) {
return true;
}
else {
alert("Empty Date");
return false;
}
}
function check() {
var t1 = allLetter();
var t2 = rollnumber();
var t3 = date();
console.log(t1);
console.log(t2);
console.log(t3);
if (t1 && t2 && t3) {
alert("Registration Successful");
return true;
} else {
alert("One or More Fields are incorrectly set");
return false;
}
}
然后在onsubmit事件中,您可以删除返回,只需使用该方法,该方法将直接返回true或false
<form name="form1" method="post" onsubmit="check();">
您颠倒了.test方法的使用。 您应该在左边使用正则表达式,因为.test是正则表达式的一种方法。 下面是您的代码:
function allLetter() {
var name = document.querySelector("#name").value;
var letters = /^[A-Za-z]*$/;
if (letters.test(name)) {
return true;
} else {
alert("Not a valid Name");
return false;
}
}
function rollnumber() {
var roll = document.querySelector("#roll").value;
var phoneno = /^\d{7}$/;
if (phoneno.test(roll)) {
return true;
} else {
alert("Not a valid Roll Number");
return false;
}
}
function date() {
var date = document.querySelector("#date").value;
if (!date) {
return true;
}
else {
alert("Empty Date");
return false;
}
}
function check() {
var t1 = allLetter();
var t2 = rollnumber();
var t3 = date();
console.log(t1);
console.log(t2);
console.log(t3);
if (t1 && t2 && t3) {
alert("Registration Successful");
return true;
} else {
alert("One or More Fields are incorrectly set");
return false;
}
}
然后在onsubmit事件中,您可以删除返回,只需使用该方法,该方法将直接返回true或false
<form name="form1" method="post" onsubmit="check();">
我认为您应该使用
.test()
方法,如
因此,首先使用regex,而不是
name.test(letters)
你应该使用letters.test(name)
我认为你应该使用.test()
方法,比如
因此,首先使用regex,而不是
name.test(letters)
您应该使用letters.test(name)
这是我的解决方案,不需要javascript,只需要html
学生登记表
姓名:
卷号:
出生日期:
这是我的解决方案,不需要javascript,只需要html
学生登记表
姓名:
卷号:
出生日期:
您是否尝试过onsubmit=“check()”@techLove是的,我尝试过,但没有成功:(尝试通过js实际添加一个事件侦听器,而不是在onsubmit处理程序中添加。我以前见过类似的情况,相信它应该可以修复it@ManavSaxena,您在检查控制台中是否有错误?@doutriforce一点也没有您尝试过onsubmit=“check()”@techLove是的,我做了,但没有成功:(尝试通过js实际添加一个事件侦听器,而不是在onsubmit处理程序中添加。我以前见过类似的情况,相信它应该可以修复it@ManavSaxena,检查控制台中是否有错误?@doutriforce一点也没有