[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends] JavaScript




PFUソフトウェアラボラトリの松山といいます。

Javaとは関係ないので、少し気がひけるのですが....

NOMURAR1> なんとか、IEでもバイト数を取得できるような方法は
NOMURAR1> ないでしょうか。

以下のようなコードを使っています。
文字列が指定されたバイト数内かどうかをチェックする関数です。

========ここから===================================
<SCRIPT LANGUAGE="JavaScript">
//************************************************
// 文字列長チェック
//------------------------------------------------
//	返却値	:true(正常)/false(異常)
//************************************************
function isLimitLength(Str, MaxLen)
 {
 var Sum = 0;
 if((top.Browser == top.IE3) || (top.Browser == top.IE4))
   {
   for(var i = 0; i < Str.length; i++)
     {
     var charValue = VB_GetCharValue(Str.charAt(i));
     Sum += ((charValue < 0)?2:1);
     }
   }
 else
   {
   Sum = Str.length;
   }
 return(Sum<=MaxLen);
 }
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
<!--
 Function VB_GetCharValue(ByVal str)
  VB_GetCharValue = Asc(str)
  Exit Function
  End Function
// -->
</SCRIPT>
========ここまで===================================

NOMURAR1> と、書きたかったのですが、最近出ました
NOMURAR1>   Netscape Communicator 4.5 Pre
NOMURAR1> では、IEと同じく 「8」 と出てしまいました。
NOMURAR1> (これはUnicodeのためですか?)
Unicodeのためです。
上記のコードは、VBScriptを使っているため、
Netscape4.5ではうまくいきません。

NOMURAR1> ですが、データベースとの連携を行っているため、
NOMURAR1> バイと数の計算を出来る仕組みが必要になります。
同じ問題から、このコードを書きました。
参考になれば..

_____________________________
松山 憲和(MATSUYAMA Norikazu)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~