ページの先頭行へ戻る
Interstage Charset Manager Standard Edition Web入力 Agent V9 運用ガイド JSVR部品 JSVR-Webサービス JSVRAX編
FUJITSU Software

7.4 業務アプリケーション側で入力抑止をする

入力部品を使用せず、アプリケーション独自に値をチェックし、入力抑止をしたい場合に使用できます。

◆要件例

◆使用する主なJSVRAXの機能

JSVRAX.Utility

◆業務アプリケーションへの組み込み方

1. 文字処理定義を作成する

ここでは、文字処理定義ファイルサンプルの中から、「マイクロソフトのシフトJIS文字セット」に相当するものを使用します。

Unicode_MS932_m_s.js
var Unicode_MS932_m_s = [
    {init:"0", def:"000000000000000000000000000...},
    {init:"3"},
・
・
・
];
2. JSVRAX.Utility.CharBehavior.Parserクラスを使用し、ハンドラ内で文字をチェックする

次のようになります。

<html xmlns:JSVRAX> <!-- 「JSVRAX」というnamespace を宣言 -->
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <!-- 文字処理定義ファイルをインクルードする -->
    <script src="Unicode_MS932_m_s.js"></script>
    <!-- JSVRAXの環境設定 Environment HTCをインポートする -->
    <?import namespace="JSVRAX" implementation="/JSVRAX/Environment.htc">
    <!-- JSVRAXの環境を設定する -->
<JSVRAX:environment /> <script> // UCS4コード値を文字化する関数 function toCharacter( charCode ) { if( charCode < 0x10000 ) return String.fromCharCode(charCode); else return String.fromCharCode(0xd800+(((charCode-0x10000)>>10)&0x3FF)) + String.fromCharCode(0xdc00+(charCode&0x3FF)); } // 解析ハンドラを定義 function checkHandler( parser, code, charBehav ) { if( charBehav.isInvalid() ) { // 入力不可文字があった場合、メッセージを表示して終了 alert("「"+toCharacter(code)+"」は使用できません。"); return false; } } // 値をチェックする関数 function checkValue() { // 解析する文字列の取り出し var targetString = document.getElementsByName("ipt")[0].value; // JSVRAXの文字列解析クラスのインスタンスを生成 var parser = new JSVRAX.Utility.CharBehavior.Parser( targetString, Unicode_MS932_m_s, checkHandler ); // 解析実行 parser.parse(); } </script> </head> <body> <!-- 入力フォーム --> <form action="" > <input id="ipt" value="森?外"> <!--「?」はシフトJISで表現できない文字 --> <!-- ボタンが押されたら、値をチェックする --> <input type="button" value="check it now!" onclick="checkValue()"> </form> </body> </html>

参考

  • 純粋なロジックであり、GUI要素はありません。すでに運用中のシステムに対しても、アプリの改修やオペレータの再教育などの影響を最小限に抑え、組み込むことができます。

  • ほとんどの場合、文字処理定義のサンプルをそのまま使用することができます。詳しくは「4.4 JSVRAXの文字処理定義のサンプル」を参照してください。

  • 使用できる文字を変更したい場合は、文字処理定義をカスタマイズし使用してください。詳しくは、「コマンドリファレンス JSVR部品 JSVR-Webサービス JSVRAX編」の8.10.2項を参照してください。