2012-03-17 3 views
0

텍스트 필드가 21자를 초과하는지 확인하고 싶습니다. 21자를 초과하면 오류 메시지를 표시하십시오. 아래 코드는 내가 지금까지 어떻게 만들 었는지 보여줍니다. 모든 것이 잘 작동하지만이 작은 문제에 붙어 있습니다. 이 문제를 어떻게 해결할 수 있습니까?값이 21자를 초과하는지 확인하십시오

$('input[name="textfield-googleplus"]').keyup(function() { 
    $('.input-error').remove(); 

    var input_value = $(this).val(); 
    var only_numeric = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/; 
    var max_twentyone = /[0-9]{21}/; 


    if(input_value != '' && !only_numeric.test(input_value)) { 
     $(this).after('<span class="input-error">Ditt profil-ID får enbart innehålla siffror</span>'); 

    } else if(input_value != '' && !max_twentyone.test(input_value)) { 
     $(this).after('<span class="input-error">Ditt profil-ID får enbart innehålla 21 siffror</span>'); 
    } 
}); 

미리 감사드립니다.

+0

것이하려는 경우 내가 확실하지 않았다 원인 경우 어떻게'약 $ (이) .val(). 길이 <이 = 21' 당신을 문자열에 정확히 21 자리 숫자가있는 경우 (^ 및 $ mean은 ~으로 시작하고 ~로 끝남) 정규식으로 확인하십시오. 물론 정규 표현식을 재 작성하여 다른 모든 문자를 지원할 수도 있습니다. –

답변

6

정규식은 필요하지 않습니다. (input_value.length > 21)을 확인하십시오. 첫 번째의를 통해

+0

많은 감사! 당신의 대답은 내 모든 문제를 해결했습니다 :) 나는 가능한 한 빨리 그것을 표시 할 것입니다. – Erik

2
if (typeof input_value == "string") { 
    if (input_value.length > 21) { // is more than 21 chars 

    } 
} 

난 당신이 항상에 문자열

관련 문제