[펌] 전각/반각 체크
일본어에는 전각/반각이라는 것이 있다. 전각은 한문자를 표현하는데 2바이트를 사용하는 것, 반각은 영문자와 같이 1바이트를 사용하는 것. 업무시스템 수정사항중 전각/반각입력을 못하게해야되는 요구사항이 생겼다. 자바스크립트로 해결할 요량으로 구글링.
<SCRIPT LANGUAGE="javascript">
/** * 全角であるかをチェックします。 * * @param チェックする値 * @return ture : 全角 / flase : 全角以外 */
function checkIsZenkaku(value)
{
for (var i = 0; i < value.length; ++i)
{
var c = value.charCodeAt(i);
// 半角カタカナは不許可
if (c < 256 || (c >= 0xff61 && c <= 0xff9f))
{
return false;
}
}
return true;
}
function check()
{
if (checkIsZenkaku(document.f.txt.value))
{
alert("指定の文字全ては全角です");
}
else
{
alert("指定の文字に全角以外の文字が含まれています");
}
}
</SCRIPT>
or
<script language="javascript">
<!--//
/** JavaScript 入力文字列内に全角文字が含まれていたら警告する **/
function Check()
{
var str = document.frmForm.txtText.value;
for(i=0;i<str.length;i++)
{
if(escape(str.charAt(i)).length>=4)
{
alert("全角文字が含まれています");
document.frmForm.txtText.value = "";
return;
}
}
alert("全角文字は含まれていません");
}
//-->
</script>
이런 소스를 적용해보았다.
뭐..잘 동작하나, 업무시스템과 클라이언트가 전부 IE란 점을 착안. IME를 불가능하도록 하는 방법으로 간단히 해결.
<INPUT TYPE = text STYLE = "ime-mode:disabled" >