mizuneko
5/26/2018 - 3:22 AM

[全角/半角文字判定]1文字ずつチェックして全角/半角があれば、trueを返す

[全角/半角文字判定]1文字ずつチェックして全角/半角があれば、trueを返す

/**************************************************
* 全角/半角文字判定
*
* 引数 : strチェックする文字列
* flg 0:半角文字、1:全角文字
* 戻り値 : true:含まれている、false:含まれていない
**************************************************/
function IsFullOrHalf(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 - 
    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;
}