2011-01-21 8 views
0

まず、どのようにvarを使用してJavaScriptで10桁以上の数字を格納するには?

私は何をしていますか? ウェブページで私たちの製品の電子メールの制限を設定する必要があります。それはvalidation.Itのjavascriptで処理され、最大8桁の数字をうまく処理します。しかし、私たちのQAチームでは、他の電子メールフィールドのテキストボックスに17桁以上の数字を入力しています。それは否定的なメッセージを投げます。私は何をすることができますか?

私のサンプルコードは次のとおりです。

if(form.otherEmails) { 
      if(validEmailArray.endsWith(',')){ 
       var otherEmailLength = validEmailArray.substring(0,validEmailArray.length-1).split(","); 
       var setLimitOtherEmail = window.parent.document.getElementById('setLimitOtherEmail').value; 

       if(setLimitOtherEmail == '-1'){ 
        form.otherEmails.value = otherEmailLength; 
       } 
       else if(otherEmailLength.length <= setLimitOtherEmail){ 
        form.otherEmails.value = otherEmailLength; 
       } 
       else{ 
        alert("More than "+setLimitOtherEmail+ " " +"Recipient emailIds not allowed in this section.\nIf you want to send it to more recipients, Please create a Bulk Contact Group."); 
        form.otherEmails.focus(); 
        return false; 
       } 

      } 
      else 
       form.otherEmails.value = validEmailArray; 
     } 

答えて

0

はそれらに任意の比較演算を実行する前に、整数に数字のそれぞれを解析してみます。

other otherEmailLengthは実際にあなたが望む番号ですか?その見た目から、validEmail配列の部分文字列を取り出し、 "、"で分割しますが、配列の長さを実際に取得するようには見えません。 otherEmailLengthの値の最後に.lengthを追加してみてください。

var otherEmailLength = validEmailArray.substring(0,validEmailArray.length-1).split(",").length; 
+0

ありがとう、あなたのコードはうまくいきます。 –

2

これは文字列である限界によるものであり、文字列番号が文字列ではなく、その逆に強制される数(長さ)と比較されているとき。

これらは辞書編集的に比較され、辞書編集では "9"は "19"よりも(>)です。

数値を比較する前に値を取得するには、parseInt(setLimitOtherEmail, 10)を使用する必要があります。

+0

ありがとうございました –

関連する問題