メイン 迷える子羊の部屋【初心者専用】 半角、全角 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yakumo | Åê¹ÆNo.41873 投稿日時: 2009-3-25 17:22 |
常連 居住地: 東京 投稿: 67
使用環境:
WinVista,FlashCS4,Actionscript3.0 |
半角、全角 XMLファイルから文字列を取得し、
文字制限を付けて、テキストフィールドに 表示させるスクリプトを作っています。 lengthで文字数を取得し、制限を加えることはできましたが、 半角の多い文章と全角が多い文章では、 文章の長さがマチマチで見栄えが良くありません。 そこで、文章中の半角を2、全角を1とカウントして 制限をつけようと考えました。 ここでお聞きしたいんですが、 半角か全角かを取得する方法はあるのでしょうか? どうぞよろしくお願いいたします。 ※ActionScript3.0にて作業しています。 |
ゲスト | Åê¹ÆNo.41875 投稿日時: 2009-3-25 18:41 |
Re: 半角、全角 単純ですけど、
1文字ずつ文字コードをしらべて、1バイトか2バイトか判定していくのはどうでしょう? 文字数が多いと大変そうな気もしますが、 文字制限をするということなので大丈夫かと。 -------------------------------------------------------------------- すでに解決に向かっているということで追記という形で失礼します。 charCodeAtが文字コードを調べるための関数なので、これで判定できるかと思います。 例: if(string.charCodeAt(index) > 0xff) |
|
yakumo | Åê¹ÆNo.41876 投稿日時: 2009-3-25 20:21 |
常連 居住地: 東京 投稿: 67
使用環境:
WinVista,FlashCS4,Actionscript3.0 |
Re: 半角、全角 ma-kunさん
文字数は少ないので1文字づつ 判定していくことは問題ありませんが、 肝心の1バイトか2バイトかを判定する方法が分かりません? ご教授いただけますか? 引用:
|
yakumo | Åê¹ÆNo.41877 投稿日時: 2009-3-25 20:42 |
常連 居住地: 東京 投稿: 67
使用環境:
WinVista,FlashCS4,Actionscript3.0 |
Re: 半角、全角 自己レスです。
いろいろ調べてみると正規表現に ヒントがありそうな事が分かりました。 Regexpなど、初めて知ったメソッドが 役に立ちそうなので探ってみます。 引用:
|
永井勝則 | Åê¹ÆNo.42099 投稿日時: 2009-4-13 23:47 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 半角、全角 役立つかどうかは分かりませんが、
コリン・ムックのブログに次の記述がありました。
同じようなことを別のメソッドを使って試してみました。
どういったときに使うと便利なのですかねえ?
|
yakumo | Åê¹ÆNo.42106 投稿日時: 2009-4-14 12:27 |
常連 居住地: 東京 投稿: 67
使用環境:
WinVista,FlashCS4,Actionscript3.0 |
Re: 半角、全角 knagaiさん
ご返信有難うございます。 これは便利ですね?。 私はその後 var regExp:RegExp = new RegExp("[0-9,a-z,@-~]","i"); で評価する文字列を特定し、対象となる文字列を1文字づつ、 文字制限の範囲内でforで判定をくり返し判定しました。 該当すれば+0.5(半角)、該当しなければ+1(全角)でカウントを重ねていき、最終的に制限内の文字列を取得する方法でやってみました。 しかしこちらのソースの方がスマートですので、 これから検証させていただきたいと思います。 お知恵をいただきありがとうございます。 理解が深まりました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |