我想创建一个通用的Javascript函数,我可以使用它来验证不同的字段值并输出正确的字段旁边的错误消息。我想创建一个高效的,可重用的函数,但我是Javascript的新手,我不确定如何继续。使用不同的变量具有相同的JavaScript功能
建议如何更改我的验证功能以验证firstname
和lastname
将不胜感激。
我迄今为止代码:
我的形式function validateForm() {
var x = document.forms["myForm"]["firstname"].value;
var reg_azs = /^[^a-zA-Z\-']+$/;
var reg_oal = "!#$%^&*()+=[]\\\';,{}|\":<>?123456790";
if (x == null || x == "") {
document.getElementById("fn").innerHTML = "This fuild is required.";
return false;
} else if (reg_azs.test(firstname.value)) {
document.getElementById("fn").innerHTML = "Only alphabetic letters.";
return false;
} else {
for (var i = 0; i < x.length; i++) {
if (reg_oal.indexOf(x.charAt(i)) != -1) {
document.getElementById("fn").innerHTML = "Only alphabetic letters.";
return false;
}
}
} else {
document.getElementById("fn").innerHTML = "correct";
return true;
}
}
:
<form name="myForm" action="connection.php" method="post">
<label for='firstname'>First Name:</label>
<input type="text" id="firstname" name="firstname" onchange="return validateForm()" />
<err1 id="fn"></err1>
<br>
<label for='lastname'>Last Name:</label>
<input type="text" id="lastname" name="lastname" onchange="return validateForm()" />
<err1 id="ln"></err1>
<br>
</form>
html无效,因为标准中没有指定'err1'标签。 – Andreas
检查我对这个问题的答案http://stackoverflow.com/questions/12434948/textbox-validation-in-jquery/12435184#12435184,它可能有助于保持干爽。 – elclanrs
“较少的代码”并不意味着“更快”。通常,将代码缩短到混淆的程度使其变得更慢,并且更难以维护。 – RobG