IT系/misc/Javaメモ

Last-modified: 2020-09-28 (月) 23:13:20

目次


数字として扱われるUnicode文字

Javaで、文字列を数値チェックする際に、isDigitメソッドやInteger.parseInt等で変換できるかどうかでチェックすると、全角の「0123456789」がチェックOKになってしまう。
他にも、「-」「+」の符号付き文字もパスしたりする。
以下のような他言語で数字とみなす文字もチェックが通る。半角数字のみをチェックOKにしたいなら、おとなしく正規表現^[0-9]*$等*1でチェックするのが良い。

  • アラビア文字
    ٠١٢٣٤٥٦٧٨٩
  • マラヤ―ラム文字
    ൦൧൨൩൪൫൬൭൮൯

参考リンク

その他メモ

なにかあれば。



*1 これだと先頭から0でもOKになるが