JQuery移除模糊上的空白

JQuery Remove White Space on Blur

本文关键字:空白 模糊 JQuery      更新时间:2023-09-26

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

// 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;
}
});

这会返回"Please Enter Your Actual Postcode",因为显然带有空格的长度超过了7个字符。

您似乎想要

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

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

您当前的REGEX锚定到模式的开始和结束。换句话说,它将只匹配完全由空格字符组成的字符串,而不匹配其他字符串。

相反,您需要:

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

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