我正在尝试在学生编号不匹配时禁用href,但学生编号似乎没有定义。 loginbtn是激活href的按钮的id。
$("#loginbtn").click(function(e){
var studentNumber = ("C10814698");
studentNumber = studentNumber + $("#studentN").value;
var studentNumberMatcher = /[A-Z][0-9]{8}/;
var isValid = studentNumber.match(studentNumberMatcher);
if ("studentNumber" !== isValid || ("studentNumber") === "") {
e.preventDefault();
alert("Please enter a valid student number");
}
});
答案 0 :(得分:0)
您的代码中存在一些语法问题,例如使用不存在的value
属性而不是val()
方法,将数组与字符串进行比较以及将变量名称的字符串混淆。
我想将C10814698分配给studentNumber,检查用户输入是否与studentNumber匹配,如果没有禁用href以防止登录,如果为true则允许登录
在这种情况下,您可以像这样修改逻辑:
$("#loginbtn").click(function(e){
var studentNumber = "C10814698";
var input = $("#studentN").val();
if (!input.trim() || studentNumber != input) {
e.preventDefault();
alert("Please enter a valid student number");
}
});
答案 1 :(得分:0)
match()方法返回一个包含在字符串中匹配的部分的Array,如果没有匹配则返回null。所以在你的情况下,测试将是:
$("#loginBtn").click(function(e){
//var studentNumber = ("C123456789");
var studentNumber = $("#studentN").val();
var studentNumberMatcher=/[A-Z][0-9]{8}/;
var isValid = studentNumber.match(studentNumberMatcher);
if ($("studentNumber").val() === "" || isValid === null) {
e.preventDefault();
alert("Please enter a valid student number");
} else {
alert("It's ok !");
}
});
我还纠正了代码中的问题! :)