我想創建一個通用的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