2013-09-02 1 views
0

사용자 포스트 코드를 입력 할 양식 입력 필드가 있지만 공백이없는 값이 필요합니다. 내가 희미한에 공백을 삭제하려는 JQuery 유효성 검사 스크립트가 있지만 여러 솔루션을 시도하고 그들 중 누구도 작동하지 않습니다. 이것이 어떻게 실현 될 수있는 아이디어입니까? 여기에 내가 사용하고 유효성 검사는 다음과 같습니다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 자 이상되는 공간 분명히 길이로 "당신의 실제 우편 번호를 입력하십시오"를 반환합니다.

답변

1

당신은 내가 ^ (문자열의 시작)과 $ (문자열의 끝을) 제거

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

를 원하는 것 같다 나는 모든 공간을 일치하도록 g flag을 추가했다.

1

패턴의 시작과 끝 부분에 현재 REGEX 앵커가 있습니다. 즉, 공백 문자만으로 구성된 문자열 만 일치합니다.

대신, 다음이 필요합니다

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

g은 글로벌 수정을 의미한다, 그래서 그들은 연속 또는 아닙니다 여부는 문자열의 모든 공백을 제거합니다.