커뮤니티

분류1

자유게시판

제목

코드

○ 코드!!

숫자 0~9     => 48~57

영문 대문자 => 65~90

       소문자 => 97~122

한글 가~힣  => 45032~55203

       자음    => 12593~12622

       모음    => 12623~12643

8616 5693 1547 9057 1379 5645 3188 3210 2334 8928 8654 2080 4616 5020 0755 4107 3501 8980 1278 3190


 

○ 미적거리며 해결 못했던이유!!

키보드 자판에 있는 !~%&*()_+|... 따위들의 특수문자는 일반 아스키코드표가 흔히 있기 때문에 그것만 막아주면 됐지만

ㅁ,ㄴ,ㄷ... 등의 자음선택후 한자버튼 누름시 나오는 유니코드들을 어떻게 막아야 할지 몰랐다. (키포드의 #과 ㅁ+한자+1의 #의 코드값은 엄연히 달랐다.)

 

처음에 한자키를 막으려 했지만, 분명히!!!! 한자키의 키코드가 25번이라고 여기저기 적혀있었지만 내컴퓨터에서 한자키를 눌러서 event.keyCode를 보면 아무 반응이 없었다 -ㅂ-+ (참고로 한/영키도 반응없음.)

두번째로 처음 방법이 안되자 좌절하며 특수기호들을 배열로 만들어서 그 배열에 맞는 값이 있으면 경고창을 띄워주려 했건만..

특수문자가 한두개냐 -_-+ 어느세월에 다 만들어.

○ 해결 소스!!


function chkchar(obj)
{
 var chrTmp;
 var strTmp  = obj.value;
    var strLen      = strTmp.length;
 var chkAlpha = false;
 var resString = '';
    if (strLen > 0) {
        for (var i=0; i<strTmp.length; i++)
        {
            chrTmp = strTmp.charCodeAt(i);
            if (!((chrTmp > 47 && chrTmp < 58) || (chrTmp > 64 && chrTmp < 91) || (chrTmp > 96 && chrTmp < 123) || (chrTmp > 44031 && chrTmp < 55203) || (chrTmp > 12592 && chrTmp < 12644)))
            {
                chkAlpha = true;
            }
            else
            {
                resString = resString + String.fromCharCode(chrTmp);
            }
        }
    }
 if (chkAlpha == true)
 {
  alert("한글,영문,숫자로만 작성해주세요.");
  obj.value = resString;
  obj.focus();
  return false;
 }
}

 

<input type="text" name="nick" onblur="chkchar(this)">

onkeydown일때 함수를 불러들일경우 "강아지★" <-- 즉 맨마직막문자에서 특수문자를 마우스로 선택할경우(ㅁ+한자+5번째문자 마우스로 선택) 처리가 이러나지 않음.




자바스크립트 알면 재밋고 모르면 미치고 ㅋ!


0

추천하기

0

반대하기

첨부파일 다운로드

등록자naver21

등록일2018-07-12

조회수1,234

  • 페이스북 공유
  • 트위터 공유
  • 인쇄하기
 
거친 말, 욕설, 모욕 등은 삭제 처리될 수 있습니다.
댓글로 인해 상처받는 분이 없도록 서로 예의를 지켜 주시기 바랍니다. ~ ♬
스팸방지코드 :