isZenkaku関数/isHankaku関数
- depth:
 - 0
 
			前の投稿
	 -
			次の投稿
	 |
			親投稿
	 -
	
			子投稿なし
	 |
	
	投稿日時 2010-8-9 15:21 	
Jiro123 
			
			 
	投稿数: 271
	
			 
	投稿数: 271
	
旧バージョンのトピックなどで、文字列にいわゆる全角文字や半角文字(DBCSやSBCS)を含むかどうかを判定したいというのがありましたので、それらを判定する関数を作成しました。
すべて全角文字であるか、あるいはすべて半角文字であるかを判定する関数です。
前者が、isZenkaku関数、後者がisHankaku関数です。
判定方法のアイディアですが、isZenkaku関数は、チェック対象となる文字列がすべて全角文字の場合、文字列のシフトJISとしてのバイト数は、その文字列の文字数を2倍した値と等しくなるはずである、という考え方を前提にしています。
isHankaku関数は、文字列がすべて半角文字からなる場合は、文字列のバイト数と文字数は等しくなるはずである、という考え方を前提にしています。
ただし、すべて半角スペースであったり、ブランクの場合は、どちらの関数もFalseを返すようにしています。(これは、一度Trim関数で、半角スペースを取り除いていることに関係します。)
特に、isHankaku関数の場合、すべて半角スペースでもFalseになるので、使用の際は要注意です。
ダウンロード(β)にアップしていますので、ご興味のある方は、ご覧ください。
掲載期限を設けておりますので、ご留意ください。
すべて全角文字であるか、あるいはすべて半角文字であるかを判定する関数です。
前者が、isZenkaku関数、後者がisHankaku関数です。
判定方法のアイディアですが、isZenkaku関数は、チェック対象となる文字列がすべて全角文字の場合、文字列のシフトJISとしてのバイト数は、その文字列の文字数を2倍した値と等しくなるはずである、という考え方を前提にしています。
isHankaku関数は、文字列がすべて半角文字からなる場合は、文字列のバイト数と文字数は等しくなるはずである、という考え方を前提にしています。
ただし、すべて半角スペースであったり、ブランクの場合は、どちらの関数もFalseを返すようにしています。(これは、一度Trim関数で、半角スペースを取り除いていることに関係します。)
特に、isHankaku関数の場合、すべて半角スペースでもFalseになるので、使用の際は要注意です。
ダウンロード(β)にアップしていますので、ご興味のある方は、ご覧ください。
掲載期限を設けておりますので、ご留意ください。
	
		投票数:0
		平均点:0.00
	
			
		
	
投稿ツリー
- 
	
 isZenkaku関数/isHankaku関数
	(Jiro123, 2010-8-9 15:21)