글자수 한글 영어 일본어 구분하여 제한하기 (1byte ,2byte) & 특수 문자 제한 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

글자수 한글 영어 일본어 구분하여 제한하기 (1byte ,2byte) & 특수 문자 제한 정보

기타 글자수 한글 영어 일본어 구분하여 제한하기 (1byte ,2byte) & 특수 문자 제한

본문

개발하다 maxlength 는 20자인데

일본어는 10자까지만 제한을 해달라고 다시 요청

 function checkLength(objname,maxlength){
  var objstr=objname.value;
  var ojbstrlen=objstr.length;

  var maxlen=maxlength;
  var i=0;
  var bytesize=0;
  var strlen=0;
  var onechar="";
  var objstr2="";

  var re=true; //기본값 true

  for(i=0;i<ojbstrlen;i++){
  //길이제한 이 필요한 사이즈저장

  //한글&일본어시 +2 
  onechar=objstr.charAt(i);
  if(escape(onechar).length>4){
    bytesize+=2;//한글 일본어 2바이트
  }else{
    bytesize++;
  }
  if(bytesize<=maxlen){

    strlen=i+1;
  }
  //특수문자제한

  var keyCode;
  keyCode = objstr.charCodeAt(i);
  if((keyCode>=32 && keyCode<48) || (keyCode>57 && keyCode <65) || (keyCode>90 &&  keyCode<96) ||keyCode == 124 ||keyCode == 96 ||keyCode==123 || keyCode==125)
  {
    alert("特殊文字とスペースは使用することはできません。"); 
    re=false;
    objname.value=''; //초기화

    break; // break을 안하면 특수문자가 3개있으면 alert창이 3개가 뜸

      }


  }//for문끝

 if(bytesize>maxlen){
  alert("タイトルは半角40文字以内または全角20文字 以内で入力してください。");
  objstr2=objstr.substr(0,strlen);
  objname.value=objstr2; 
  re = false;
  }
  objname.focus();
  return re;


 
 }

 

해당스크립트 ㅋ

 

해당 input 에

 

onkeyup="javascript:checkLength(this,20)" 요거 하나 추가 하니 바로 끝 ㅋ 감사!<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]</div>
추천
0
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로