출처 : http://happy74.tistory.com/85

★ 타입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.all.textbox.value))
 {
  alert("指定の文字全ては全角です");
 }
 else
 {
  alert("指定の文字に全角以外の文字が含まれています");
 }
}
//-->
</SCRIPT>

★ 타입2
<script language="javascript">
<!--//
/** JavaScript 入力文字列内に全角文字が含まれていたら警告する **/
function Check(){
 var str = document.all.textbox.value;
 for(i=0;i<str.length;i++){
  if(escape(str.charAt(i)).length>=4){
   alert("全角文字が含まれています");
   document.frmForm.txtText.value = "";
   return;
  }
 }
 alert("全角文字は含まれていません");
}
//-->
</script>

<INPUT TYPE="text" NAME="textbox" STYLE="ime-mode:disabled" >

★ 타입3
全角文字、あるいは半角文字が含まれているかチェックする
文字のバイト数をカウントするスクリプトの応用です。
文字列を1文字ずつチェックし、全角(半角)文字の場合そこで処理を中止し、true(真)を返します。
1文字も含まれていない場合は、false(偽)を返します。

1./****************************************************************
2.* 全角/半角文字判定
3.*
4.* 引数 : str チェックする文字列
5.* flg 0:半角文字、1:全角文字
6.* 戻り値: true:含まれている、false:含まれていない
7.*
8.****************************************************************/
9.function CheckLength(str,flg) {
10.    for (var i = 0; i < str.length; i++) {
11.        var c = str.charCodeAt(i);
12.        // Shift_JIS: 0x0 ~ 0x80, 0xa0 , 0xa1 ~ 0xdf , 0xfd ~ 0xff
13.        // Unicode : 0x0 ~ 0x80, 0xf8f0, 0xff61 ~ 0xff9f, 0xf8f1 ~ 0xf8f3
14.        if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
15.            if(!flg) return true;
16.        } else {
17.            if(flg) return true;
18.        }
19.    }
20.    return false;
21.}

★ 타입4
<html>
<head>
<SCRIPT language='JavaScript'>
<!-----
//半角カナをチェックします
function Form_Validator(theForm)
{
 var disp = "";
 var text =theForm.text1.value;
 var len = text.length;
 var ret = true;
 var flg = true;
 var str = "";

 for ( i = 0 ; i < len ; i++ ) {
  str = text.substring(i, i+1);
  ret = isHankaku(str);
  if (ret){
   disp += "「" + str + "」";
   flg = false;
  }
 }
 if(!flg){
  alert(disp + "は半角カナです。\n");
  theForm.text1.focus();
  return(false);
 }else{
  alert("半角カナは含まれていません。");
  return(false);
 }
}

function isHankaku(str)
{
 var esc_str = escape(str);
 var ms = navigator.appVersion.indexOf("MSIE");
 var nesc = navigator.appName.lastIndexOf("Netscape"); //一致した位置(0)を返す
 
 if(nesc >= 0){
  if ( (esc_str.indexOf('%A') == 0) ||
   (esc_str.indexOf('%B') == 0) ||
   (esc_str.indexOf('%C') == 0) ||
   (esc_str.indexOf('%D') == 0) ){
   return(true);
  }
 }else if(ms > 0){
  if((esc_str.indexOf('%uFF6') == 0) ||
   (esc_str.indexOf('%uFF7') == 0) ||
   (esc_str.indexOf('%uFF8') == 0) ||
   (esc_str.indexOf('%uFF9') == 0) ) {
   return(true);
  }
 }

 return(false);
}
//----->
</script>

</head>
<body>

<form name="form1" method="GET" onsubmit="return Form_Validator(this);">
 <input type="text" name="text1" size="20">
 <input type="submit" value="チェックする">
</form>

</body>
</html>

★ 타입5
//全角チェック
 public static boolean isFullWord(String i_strContents)
 {
  boolean value = true; 
  byte[] byteArray = null;
         byteArray = i_strContents.getBytes();
         for(int i = 0; i < byteArray.length; i++)
         {
             if((byteArray[i] >= (byte)0x81 && byteArray[i] <= (byte)0x9f) ||
                 (byteArray[i] >= (byte)0xe0 && byteArray[i] <= (byte)0xef))
             {
                 if((byteArray[i+1] >= (byte)0x40 && byteArray[i+1] <= (byte)0x7e) ||
                     (byteArray[i+1] >= (byte)0x80 && byteArray[i+1] <= (byte)0xfc))
                 {
                     i++;
                 }
                 else
                 {
                     value = false;
                 }
             }
             else
             {
                 value = false;
             }
         }
         return value;

 }
 //半角チェック
 public static boolean isHalfWord(String i_strContents)
 {
  boolean value = true;
  byte[] byteArray = null;
        byteArray = i_strContents.getBytes();
        for(int i = 0; i < byteArray.length; i++){
            if((byteArray[i] >= (byte)0x81 && byteArray[i] <= (byte)0x9f) ||
                (byteArray[i] >= (byte)0xe0 && byteArray[i] <= (byte)0xef)) {
                if((byteArray[i+1] >= (byte)0x40 && byteArray[i+1] <= (byte)0x7e) ||
                    (byteArray[i+1] >= (byte)0x80 && byteArray[i+1] <= (byte)0xfc)) {
                    value = true;
                }
            }
        }
        return value;

 }

  //名前の全角を検査します。
 public static boolean checkNameFormat(String i_strContents)
 {
  boolean bResult = (!i_strContents.equals("")&&Validation.isFullWord(i_strContents));
  return bResult;
 }

 //点数と人数の半角を検査します
 public static boolean checkPointFormat(String i_strContents)
 {
  boolean bResult = true;
  int iContents;

  //半角の時
  if(!i_strContents.equals("")&&!Validation.isFullWord(i_strContents))
  {
   iContents = Integer.parseInt(i_strContents);
   //0点から100点以内
   if((iContents < 0) || (iContents > 100))
   {
    bResult = false;
   }
  }
  else
  {
   bResult = false;
  }
  return bResult;
 
 }

★ 타입6
function checkhalf(str){
 str = str;
    chkstr = escape(str.value);
    if (chkstr.indexOf('%') != -1){
      alert('入力は半角英数字でお願いします。');
      str.value = "";
      str.focus();
 }
}

댓글을 달아 주세요

 «이전 1 ··· 21 22 23 24 25 26 27 28 29 ··· 218  다음»