Q60:数値型や半角文字かどうかの判別方法はありますでしょうか?(isNumericのようなものです)また正規表現でのチェックはできますでしょうか?
A60:
数値を判別するメソッド、正規表現でのチェックについて
・[数値入力フィールド]には編集中の文字列が有効か判定する
「メソッド:isEditValid()」があります。
[数値入力フィールド]の値確定のタイミングは
@フォーカスが外れた時
A数値入力フィールド内でEnterキーが押された時
B「現在表示されている文字列で値を確定する/commitEdit()」
「文字列を設定した後、その文字列で値を確定する/commitText(String)」
のメソッドを実行した時
の3点です。
但し、@Aの時に確定できない値であった場合でも、エラーメッセージは出ません。
入力値が確定できない値であった場合には、元の値に表示が戻りますが(設定により変更ができます)、フォーカスが外れないと確認ができません。入力が全角数字でも値確定は確定されます。
・[文字列格納変数]では正規表現を使って、「メソッド:matches(String)」や「replaceAll(String,String)」などを実行することができます。
・[マスク入力フィールド]は郵便番号など決まった長さの文字列を入力する場合に便利です。
正規表現を使った簡単なサンプルを掲載致しましたので、ご参考になれば幸いです。
関連ファイル:数値のみ確定.mzax (※このファイルは、ZIP形式に圧縮してあります。)