JavaScript – 文字の種別をチェックするには(その2)


第3弾は、引き続き文字種別チェックです。

ひらがなチェック

[js]
/**
* チェック対象文字列が全角ひらがなのみかチェックします。
*
* @param argValue チェック対象文字列
* @return 全て全角ひらがなの場合はtrue、
* 全角ひらがな以外の文字が含まれている場合はfalse
*/
function isHiragana(argValue)
{
if (argValue.match(/[^あ-ん|^ー]/g))
{
return false;
}
else
{
return true;
}
}
[/js]

全角チェックの場合

[js]
/**
* チェック対象文字列が全角のみかチェックします。
*
* @param argValue チェック対象文字列
* @return 全て全角文字の場合はtrue、
* 全角文字以外が含まれている場合はfalse
*/
function isAllFullSize(argValue)
{
var length = argValue.length * 2;
if (length == getByteLength(argValue))
{
return true;
}
else
{
return false;
}
}
[/js]

半角チェック

[js]
/**
* チェック対象文字列が半角のみかチェックします。
*
* @param argValue チェック対象文字列
* @return 全て半角文字だった場合はtrue、
* 半角文字以外が含まれている場合はfalse
*/
function isAllHalfSize(argValue)
{
var length = argValue.length;
if (length == getByteLength(argValue))
{
return true;
}
else
{
return false;
}
}
[/js]

文字列のバイト数取得

※全角チェック、半角チェックで使用しています。
[js]
/**
* チェック対象文字列のバイト数を取得します。
*
* @param argValue チェック対象文字列
* @return 文字列のバイト数
*/
HALF_SIZE_KANA = "ァアィイゥウェエォオカキクケコサシスセソタチッツテトナニヌネノハヒフヘホマミムメモャヤュユョヨラリルレロワヲンー゚゙";
function getByteLength(argValue)
{
var i = 0;
var count = 0;
for (i = 0; i < argValue.length; i++)
{
if (0 <= HALF_SIZE_KANA.indexOf(argValue.charAt(i)))
{
// 半角カタカナの場合は1バイトとして計算します
count++;
}
else if (escape(argValue.charAt(i)).length >= 4)
{
count+=2;
}
else
{
count++;
}
}
return count;
}
[/js]

関連記事

  1. コメント 0

  1. トラックバック 0

return top