commons-langで「アルファベットor数値」の判定をする
山崎良
2008/07/31 15:37
第4回は引数で指定した文字が半角の数字、もしくは半角アルファベットの場合にのみ真を返す判定メソッド「CharUtils#isAsciiAlphanumeric」を中心に扱ってみよう。
CharUtils#isAsciiAlphanumeric
CharUtils#isAsciiAlphanumericは引数で指定した文字が半角の数字([0-9])、もしくは半角アルファベット([A-Z]あるいは[a-z])の場合にのみ真を返す。
動作は以下のようになる。
- CharUtils.isAsciiAlphanumeric('a') = true
→半角小文字アルファベットを引数に指定した場合にはtrue。 - CharUtils.isAsciiAlphanumeric('A') = true
→半角大文字アルファベットを引数に指定した場合にはtrue。 - CharUtils.isAsciiAlphanumeric('1') = true
→半角数字を引数に指定した場合にはtrue。 - CharUtils.isAsciiAlphanumeric('-') = false
→半角記号を引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric('\n') = false
→コントロール文字を引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric(' ') = false
→半角スペースを引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric(' ') = false
→全角スペースを引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric('あ') = false
→全角のひらがなを引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric('ア') = false
→全角のカタカナを引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric('漢') = false
→全角の漢字を引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric('a') = false
→全角のアルファベット(小文字)を引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric('A') = false
→全角のアルファベット(大文字)を引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric('1') = false
→全角の数字を引数に指定した場合にはfalse。 - CharUtils.isAsciiAlphanumeric('−') = false
→全角の記号を引数に指定した場合にはfalse。
StringUtils#isAlphanumeric
第2回で解説した「isAlpha」と同じように、StringUtilsには「isAlphanumeric」というメソッドがある。isAlphanumericも名前から期待する動作とは異なる動きをするため、注意が必要だ。
- StringUtils.isAlphanumeric(null) = false
→nullの場合はfalse - StringUtils.isAlphanumeric("") = true
→文字列が空文字列である場合にtrue。 - StringUtils.isAlphanumeric("abc") = true
→文字列がアルファベット(小文字)のみで構成される場合はtrue。 - StringUtils.isAlphanumeric("ABC") = true
→文字列がアルファベット(大文字)のみで構成される場合はtrue。 - StringUtils.isAlphanumeric("111") = true
→文字列が半角数字のみで構成される場合はtrue。 - StringUtils.isAlphanumeric("1Aa") = true
→文字列が半角数字と半角アルファベットから構成される場合はtrue。 - StringUtils.isAlphanumeric("ab-c") = false
→'-'等の半角記号が含まれる場合はfalse。 - StringUtils.isAlphanumeric("ab\nc") = false
→コントロール文字が含まれる場合はfalse。 - StringUtils.isAlphanumeric("ab c") = false
→半角スペースが含まれる場合はfalse。 - StringUtils.isAlphanumeric("ab c") = false
→全角スペースが含まれる場合はfalse。
ここまでは概ね期待通りに動くが……
- StringUtils.isAlphanumeric("あいう") = true
- StringUtils.isAlphanumeric("アイウ") = true
- StringUtils.isAlphanumeric("漢字") = true
- StringUtils.isAlphanumeric("abc") = true
- StringUtils.isAlphanumeric("ABC") = true
- StringUtils.isAlphanumeric("111") = true
- StringUtils.isAlphanumeric("ab−c") = false
- StringUtils.isAlphanumeric("アアア") = true
StringUtils#isAlphaと同様、文字列に全角文字や半角カタカナが含まれる場合には、やはりメソッド名から期待する動作と異なる動きをする。
他にもcommons-langにはいくつもの判定メソッドがある。ここではそのいくつかを紹介しよう。
- StringUtils#isBlank
→引数で指定した文字列が空文字列、半角スペース、全角スペースのみで”構成されている”場合にtrueを返す。 - StringUtils#isNotBlank
→引数で指定した文字列が空文字列、半角スペース、全角スペースのみで”構成されていない”場合にtrueを返す。 - CharUtils#isAscii
→引数で指定した文字がASCII文字(半角英数、半角記号、コントロール文字)である場合にtrueを返す。 - CharUtils#isAsciiControl
→引数で指定した文字がコントロール文字である場合にtrueを返す。 - CharUtils#isAsciiNumeric
→引数で指定した文字が半角数字([0-9])である場合にtrueを返す。
- 特集: commons-langの便利メソッド (10件)
- 今日のトップ記事
- 昨日
- 2日前
- 3日前
- 4日前
- ホワイトペーパー
- 企画特集
次のキーワードは、SOIとITFM
国内シェアNo1
IT技術者はもっと幸せになれる!
NECのグリーンITの本気度「PUEは1.58」
ただのERPだけじゃもう足りない!
Touch Diamond VS iPhone 3G
局所冷却に注目。
Green Enterprise
価格から質へと変わるアウトソーシング市場
仲間と情報を共有・公開する楽しみ方は?
今なら無料! IBMの「グリーンIT化診断」
REAL IT COOL PROJECT
情報大洪水時代を生き抜くソリューション
グリーンデータセンターの新潮流
グローバル競争に金融不安……
- 所有から利用へ。拡大するiDC市場
- メーカー型番で選べる専用サーバ
- 運用管理こそ業務の背骨
- 市場のニーズに応えた帳票ソリューション
- MicrosoftもOracleもDWH市場に参入!
- エンタープライズサーチ特集!
- Web2.0時代におけるセキュリティ上の課題
- ERP,CRMのレスポンスの遅さを劇的改善!
- なぜ、ERP 導入は敷居が高いのか?
- 解約率わずか1%のホスティングサービス
- データバックアップで事業継続力を向上!
- 話題のタグ
デザイン
iPod touch
Windows
ユーザーインタフェース
Mozilla
Webデザイン
オープンソース
RIA
HTML
server
OS
Microsoft
Safari
JavaScript
Off Topic
携帯電話機
iPhone 3G
Ajax
iPhone
ブラウザ
Database
仮想化ソフトウェア
Adobe
仮想化
脆弱性
プログラミング言語
ソフトウェア開発
リファレンス
Internet Explorer
データベース
小技
Mac OS X
Opera
Chrome
SOA
Linux
Firefox 3
モバイル
Firefox
Apple
Google
入門
Java
Flash
Webサービス
CSS
PHP
開発環境
UI
Tips
話題のタグを見る »
Javaの父:「Javaはレガシーか?」「その表現は妥当ではない」と反論
マルチコア、マルチスレッド時代に果たすOSの役割
ゴスリング氏、Javaの最新動向を説明:JavaFXとWiiの連携アプリも登場
サン・マイクロシステムズ、RIA用開発プラットフォーム「JavaFX 1.0」をリリース
CSS 3のボックスレイアウトでコンテンツを画面の中央に配置する
ローカルへのデータの保存を可能にするDOM Storage
iPhoneアプリ開発苦労話ベスト3―伝説の開発者に訊く(その1)
あなたの知らないPKI(2)--PKIのコア要素/電子証明書と認証局
不況に強いITを目指す--不況時に高い需要が望める分野はこれだ