JQuery在Blur上删除了空格

时间:2013-09-02 15:58:34

标签: javascript jquery regex validation

我有一个用于输入用户邮政编码的表单输入字段,但我需要该值没有空格。我有一个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个字符。

2 个答案:

答案 0 :(得分:1)

你似乎想要

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

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

答案 1 :(得分:1)

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

相反,你需要:

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

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