$("#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