Aggavara

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

文字列チェック関数(全角文字のチェック)
これは来てます。すごすぎ・・・全部全角の時はTrueです。(何も入ってないときも便宜上そうしてます。)
bytData = strChar.getBytes("SJIS");といったん無理やりSJISにしてから上下バイトの判定を行ってます。

/**********************************************************************************************/
/**
 ** 文字列チェック関数(全角文字のチェック)
 **
 ** @param  String  入力文字列
 **
 ** @return ブール型(全て全角の場合true)
 */
    public boolean ChkZen(String inBuff){
    
    if (inBuff == null || inBuff.length() == 0)
       {return  true;}
        
        byte[]  bytData;
        String  strChar;
        boolean flgSingle = false;
        int     intX;
        for(int i=0 ; i < inBuff.length() ; i++ ){
            try{
                strChar = inBuff.substring(i,i+1);
                bytData = strChar.getBytes("SJIS");
                for(int j=0 ; j < bytData.length ; j++){
                    if( bytData[j] < 0 ){
                        intX = 256 + bytData[j];
                        //System.out.print("マイナス");
                    } else {
                        intX = bytData[j];
                        //System.out.print("プラス");
                    }
                    //System.out.print(Integer.toHexString(intX) + ":");
                }
                if( bytData.length == 2 ){
                    //flgSingle = true;
                    //System.out.println("2バイト文字 = " + strChar);
                } else {
                    flgSingle = true;
                    //System.out.println("1バイト文字 = " + strChar);
                }
            } catch(Exception e){
                flgSingle = false;
                //System.out.println("コード変換エラー");
            }
        }

        if(flgSingle)
            return  false;
        else
            return  true;
    }
/**********************************************************************************************/ 
posted on 2012-10-09 09:45  Aggavara  阅读(283)  评论(0编辑  收藏  举报