全角文字、あるいは半角文字が含まれているかチェックする
文字のバイト数をカウントするスクリプトの応用です。
文字列を1文字ずつチェックし、全角(半角)文字の場合そこで処理を中止し、true(真)を返します。
1文字も含まれていない場合は、false(偽)を返します。
- /****************************************************************
- * 全角/半角文字判定
- *
- * 引数 : str チェックする文字列
- * flg 0:半角文字、1:全角文字
- * 戻り値: true:含まれている、false:含まれていない
- *
- ****************************************************************/
- function CheckLength(str,flg) {
- for (var i = 0; i < str.length; i++) {
- var c = str.charCodeAt(i);
- // Shift_JIS: 0x0 〜 0x80, 0xa0 , 0xa1 〜 0xdf , 0xfd 〜 0xff
- // Unicode : 0x0 〜 0x80, 0xf8f0, 0xff61 〜 0xff9f, 0xf8f1 〜 0xf8f3
- if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
- if(!flg) return true;
- } else {
- if(flg) return true;
- }
- }
- return false;
- }