我正在尝试使用HTML和纯JavaScript创建表单验证,这是我的作业的一部分。但是,即使对代码进行大量修改,年龄和密码验证似乎也不起作用。如果年龄在18到60之间,并且密码必须与正则表达式相同,则该年龄是有效的。
这是扩展的代码:
编辑:用户代码已被编辑,但仍无法按预期运行。
string mystring="<html><body><p>Hello World</p></body></html>";
bool iscontainTags=mystring.Contains("<") || mystring.Contains(">")?true:false;
function checkPassword(str) {
var re = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}$/;
return re.test(str);
}
function checkName(str) {
var ge = /^[a-zA-Z ]+$/;
return ge.test(str);
}
function mytq() {
var uname = document.forms.formvalidation.fullname;
var uemail = document.forms.formvalidation.email;
var uage = document.forms.formvalidation.age;
var upwd = document.forms.formvalidation.password;
var vpwd = document.forms.formvalidation.pwdrpt;
if (uname.value != "") {
if (!checkName(uname.value)) {
window.alert("Please enter a valid name");
uname.focus();
return false;
}
}
if (!(uage < 16 || uage > 60)) {
window.alert("Sorry you're not eligible for the position");
uage.focus();
return false;
}
if (uemail.value.indexOf("@", 0) < 0 && uemail.value.indexOf(".", 0) < 0) {
window.alert("Please enter a valid email");
uemail.focus();
return false;
}
if (upwd.value != "" && upwd.value == vpwd.value) {
if (!checkPassword(upwd.value)) {
window.alert("The password you entered is not valid");
upwd.focus();
return false;
}
}
return true;
}
答案 0 :(得分:3)
您的年龄比较有缺陷。如果您希望确保年龄小于16岁,小于60岁,则应将其简化为
if(uage < 16 || uage > 60) {
window.alert("Sorry you're not eligible for the position");
uage.focus();
return false;
}