[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)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~