• ベストアンサー

変数の中の文字数を知りたい

if(sumUriage.length > 12){  window.alert('桁溢れしています。'); } 上記の様に桁が11桁より上になったら 溢れのメッセージを表示させたいのですが、 このままだとIF文の中を認識してくれません。 sumUriageが変数だからでしょうか? 何かいいアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • NTJ
  • ベストアンサー率44% (46/103)
回答No.3

lengthで注意すべき点が一つあります。 "あいうえお"のlengthは、ブラウザによって異なります。 古いIEなら10、近年のIEなら5ですね。 ブラウザ内での文字コード処理系がS-jisからunicodeへ変更になった為です。 unicode体系のブラウザでは、半角/全角の切り分けは非常にオオゴトです。 質問者さんの場合は数値項目な雰囲気なので宜しいかとは思いますが、全角文字が入力し得る項目な場合には、充分な注意をしてくださいね。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

sumUriage がテキストボックスだったら。 sumUriage.value.length 単に数値だったら sumUriage.toString().length

noname#19197
noname#19197
回答No.1

11桁より上なら、条件は if(sumUriage.length > 11){ だと思いますが・・・。 sumUriageには、どういう値が入ってるんでしょう? 一度、alertなどで確認されてみてはどうでしょうか。

関連するQ&A