$("#submit").click(function() {
var userinput = $('#username').val();
var mobilenumber=$('#mobnum').val();
var address1=$('#addr1').val();
var address2=$('#addr2').val();
var emailid=$('#mail').val();
var characterReg = /^([a-zA-Z]{2,30})$/;
var numericReg=/^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/;
var emailReg=/^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
var addrReg = /^\s*[a-zA-Z0-9,\s]+\s*$/;
var errors=false;
if (!characterReg.test(userinput)) {
$('#username').addClass('boxBorder');
errors=true;
} else {
$('#username').removeClass('boxBorder');
}
if (!numericReg.test(mobilenumber)) {
$('#mobnum').addClass('boxBorder');
errors=true;
} else {
$('#mobnum').removeClass('boxBorder');
}
if (!emailReg.test(emailid)) {
$('#mail').addClass('boxBorder');
errors=true;
} else {
$('#mail').removeClass('boxBorder');
}
if ($('#pwd').val()=='') {
$('#pwd').addClass('boxBorder');
errors=true;
} else {
$('#pwd').removeClass('boxBorder');
}
if (!addrReg.test(address1)) {
$('#addr1').addClass('boxBorder');
errors=true;
} else {
$('#addr1').removeClass('boxBorder');
}
if (!characterReg.test(address2)) {
$('#addr2').addClass('boxBorder');
errors=true;
} else {
$('#addr2').removeClass('boxBorder');
}
if (errors) {
return false;
} else {
return true;
}
});
我寫這個代碼在jQuery中進行表單驗證。它完美的作品。但是,我想重寫單個if...else
中的所有條件,而不是使用多個if else條件。可能嗎?優化,如果其他條件jQuery表單驗證
你爲什麼要重寫代碼?它適合你說的完美!這很容易理解,而且很容易維護。我認爲任何將所有內容放在一個'if ... else'語句中的努力都會使事情變得複雜,而不是使代碼更好理解。如果你在擱置一段時間後重新訪問你的代碼,這並不會對你有所幫助。最好的代碼不一定是技術上最複雜或最短的一個... – Flyer53