0

我有一个用于输入用户邮政编码的表单输入字段,但我需要该值没有空格。我有一个 JQuery 验证脚本,我想删除模糊时的空白,但我尝试了几种解决方案,但都没有奏效。有什么想法可以实现吗?这是我正在使用的验证:

// Postcode Validation
$('#regpostcode').blur(function()
{
$(this).val($(this).val().replace(/^\s+$/,"")); // THIS IS THE LINE I'M INTERESTED IN
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;
}
});

这将返回“请输入您的实际邮政编码”,因为显然带有空格的长度超过 7 个字符。

4

2 回答 2

2

你似乎想要

$(this).val($(this).val().replace(/\s/g,""));

我删除了^(字符串开头)和$(字符串结尾),并添加了g标志以匹配所有空格。

于 2013-09-02T16:00:38.913 回答
1

您当前的 REGEX 锚定到模式的开头和结尾。换句话说,它将只匹配一个完全由空格字符组成的字符串,没有别的。

相反,您需要:

.replace(/\s/g, "")

指的g是全局修饰符,因此它将删除字符串中的所有空格,无论它们是否连续。

于 2013-09-02T16:00:56.530 回答