[펌] 전각/반각 체크

프로그래밍/Library 2007. 11. 28. 11:02 Posted by galad

일본어에는 전각/반각이라는 것이 있다. 전각은 한문자를 표현하는데 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" >