ページの先頭行へ戻る
Interstage Charset Manager Standard Edition Web入力 Agent V9 コマンドリファレンス JSVR部品 JSVR-Webサービス JSVRAX編
FUJITSU Software

8.10.3 JSVRAX.Utility.CharBehavior.Parserクラス

本クラスは、指定文字列を文字処理定義に従って解析するクラスです。

注意

本クラスでは、指定文字列を1文字ずつチェックする必要があるため、文字列長に比例して処理コストがかかります。クライアントスペックや他のタスクの状況を考慮し、チェックさせる文字列の長さを適切に決定するようにしてください。例えば、上限を1000文字程度とし、テスト環境で処理性能を確認しながら値を調整することをおすすめします。

8.10.3.1 メソッド

コンストラクタ

JSVRAX.Utility.CharBehavior.Parserクラスインスタンスを生成します。

シンタックス
var parser = new JSVRAX.Utility.CharBehavior.Parser(_targetString, _map, _handler)
パラメータ

_targetString

string型

正常値

解析のターゲット文字列

省略

_map

JSVRAX.Utility.CharBehavior.DimensionMap配列型

正常値

文字処理定義

省略

_handler

JSVRAX.Utility.CharBehavior.Parser.Handler

正常値

解析ハンドラ。文字処理定義に何らかの定義がある文字を発見した際に呼ばれる。

省略

parse

解析を開始する。

シンタックス
parser.parse()
パラメータ

なし。

8.10.3.2 プロパティ

targetString

解析のターゲット文字列を設定/返却します。

シンタックス
parser.targetString [ = _targetString ]
パラメータ

_targetString

コンストラクタの_targetStringと同じ

正常値

コンストラクタの_targetStringと同じ

デフォルト

コンストラクタの_targetString

map

文字処理定義を設定/返却します。

シンタックス
parser.map [ = _map ]
パラメータ

_map

コンストラクタの_mapと同じ

正常値

コンストラクタの_mapと同じ

デフォルト

コンストラクタの_map

handler

解析ハンドラを設定/返却します。

シンタックス
parser.handler [ = _handler ]
パラメータ

_handler

コンストラクタの_handlerと同じ

正常値

コンストラクタの_handlerと同じ

デフォルト

コンストラクタの_handler

index

解析インデックスを設定/返却します。

シンタックス
parser.index [ = _index ]
パラメータ

_index

number型

正常値

現在の解析位置を示すインデックス。string型同様、2byte文字を1と数える。0以上の数値で、サロゲートペアの場合は下位サロゲートの位置を示す。

デフォルト

0

8.10.3.3 メソッド

◆parse

解析を開始します。

シンタックス
parser.parse()
パラメータ

なし

8.10.3.4 使用例

<SCRIPT>
var str = (ターゲット文字列);
var map = (JSVRAX.Utility.CharBehavior.DimensionMap配列型の文字処理定義);
var altstr = (代替文字列);
var parser = new JSVRAX.Utility.CharBehavior.Parser(str, map,                                     1.
    function(_parser, _code, _charBehav)                                                          2.
    {
        if(_charBehav.isInvalid())                                                                3.
        {
            var index = _parser.index - ((0x10000 <= _code) ? 1 : 0);                             4.
            _parser.targetString = _parser.targetString.substring(0, index) + altstr              5.
                + _parser.targetString.substring(_parser.index + 1, _parser.targetString.length);
            _parser.index = index + altstr.length - 1;                                            6.
        }
        return true;                                                                              7.
    });
parser.parse();                                                                                   8.
alert(parser.targetString);                                                                       9.
</SCRIPT>
  1. JSVRAX.Utility.CharBehavior.Parserインスタンスを生成

  2. 解析ハンドラの定義

  3. 入力不可文字の場合

  4. インデックスを算出(2面の文字は1つ前から始まっている)

  5. 解析ターゲット文字列を代替文字列で置換する

  6. インデックスを変更

  7. 処理続行で復帰

  8. 解析開始

  9. 解析結果文字列をalert()出力