[AS]文字が半角か全角のチェックする方法
厳密にいうとちょっと違うみたいだけどこんな感じ。
//文字列の全角/半角チェック関数。 //(文字列内の文字が全て半角の場合にtrueを返す) function isAll1ByteChar(str:String):Boolean { var countCharCode:Number = 0; var isAll1Byte:Boolean = false; for (var i:int = 0; i < str.length; i++) { // 条件分岐 // 2010/01/27修正:半角カナ対応(のつもり) if (str.charCodeAt(i)<=255 || str.charCodeAt(i)>=0xFF61 &amp;amp;&amp;amp; str.charCodeAt(i)<=0xFF9F) { countCharCode+=1; } else { countCharCode+=2; } } if(str.length == countCharCode) { isAll1Byte = true; } return isAll1Byte; } var str1:String = "aaアaaa" var str2:String = "あああああ"; var str3:String = "aaaaあbcs"; trace(isAll1ByteChar(str1));//出力:true trace(isAll1ByteChar(str2));//出力:false trace(isAll1ByteChar(str3));//出力:false
2010/1/27:コード修正:半角カナ対応(のつもり)
Tweet
2 Comments
半角カナが…?
あれ、ほんとですね。。。
ちなみにやりたかったの文字を表示するときのフォント切り替えだったのでした。
英語フォントを埋めこんである状態で、
半角英数が入力されたときは、英語フォントで表示
それ以外のときは、デバイスフォントで表示
としたかったので、今回は半角カナはfalseで良かったということで結果オーライな感じでした。。。
一応、本文のソースは一応半角カナも対応に修正してみました。
これでいいのかな?