2012-03-17 4 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 

    } 
} 

私はあなたがいつもに文字列

関連する問題