各ブロックの説明や、漢字を判定するにはどのブロックを使えばだいたい網羅出来るかなど、細かい話は現在確認中。(漢字はブロックが複数あるんで面倒です)
とりあえずJavaのUnicodeBlockのサンプルコード。
// 平仮名判定(UnicodeBlock.HIRAGAN)
System.out.println( UnicodeBlock.of( 'あ' ) == UnicodeBlock.HIRAGANA );
// => true
System.out.println( UnicodeBlock.of( 'ア' ) == UnicodeBlock.HIRAGANA );
// => false
// カタカナ判定(UnicodeBlock.KATAKANA)
System.out.println( UnicodeBlock.of( 'ア' ) == UnicodeBlock.KATAKANA );
// => true
System.out.println( UnicodeBlock.of( 'あ' ) == UnicodeBlock.KATAKANA );
// => false
// 漢字判定(UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS)
System.out.println( UnicodeBlock.of( '言' ) == UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS );
// => true
System.out.println( UnicodeBlock.of( 'ω' ) == UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS );
// => false
// 正規表現もある
//平仮名4つ
System.out.println( "ひらがな".matches( "\\p{InHiragana}{4}" ) );
// => true
// カタカナ4つ
System.out.println( "カタカナ".matches( "\\p{InKatakana}{4}" ) );
// => true
// 漢字2つ
System.out.println( "漢字".matches( "\\p{InCjkUnifiedIdeographs}{2}" ) );
// => true
追記
もう少し調べてみた
http://www.mwsoft.jp/programming/munou/unicode_block_java.html