我正在尝试设置一些JQuery验证来检查输入到表单中的英国邮政编码。所以根据我对Postcodes的了解,他们至少有5个字符长但不超过7个字符,并且至少包含3个字母,所以到目前为止我所拥有的是:
// Postcode Validation
$('#regpostcode').blur(function () {
$(this).val($(this).val().replace(/\s/g, ""));
var regpostcode = $(this).val();
if (regpostcode.length < 5) {
$('.regPostcodeStatus').html("Please Enter Your Actual Postcode").removeClass("success").addClass("error");
regpostcodeok = 2;
} else if (regpostcode.length > 7) {
$('.regPostcodeStatus').html("Please Enter Your Actual Postcode").removeClass("success").addClass("error");
regpostcodeok = 2;
} else {
$('.regPostcodeStatus').html("Thank You").removeClass("error").addClass("success");
regpostcodeok = 1;
}
});
$('#regpostcode').keyup(function (e) {
$("#regpostcode").val(($("#regpostcode").val()).toUpperCase());
});
正如您所看到的,这可以解决过长或过短的问题,但不能解决至少有3个字母的问题。有什么想法可以实现吗?
答案 0 :(得分:1)
尝试添加此验证:
if(regpostcode.match(/[a-z]/gi).length < 3) //Error
匹配将在每次在字符串中找到正则表达式时创建一个数组。因此,检查数组长度将为您提供字母数。