본문 바로가기
C++ 200제/코딩 IT 정보

Javascript 문자열 길이 체크 (한글 특수문자 영어 숫자 글자 수)

by vicddory 2020. 8. 30.

일단 Javascript 문자열 길이 체크하는 소스부터 알려드리면 아래와 같습니다.

아래 소스 그대로 가져다 쓰셔도 됩니다.


const getByteLength = (strstring = ' '=> {
  let byte = 0;
  const code = str.charCodeAt(0);
  
  if (code > 127) {
    byte += 2;
  } else if (code > 64 && code < 91) {
    byte +=2;
  } else {
    byte +=1return byte;
  }
};


우선, getByteLength 라는 함수를 선언했고, 인자로 문자열(string)을 받습니다.


여기서 웹개발자 vs 서버개발자 상호 간에 의견 충돌이 생길 수 있는데요.

서버 개발자는 "뭔 소리냐. 난 문자열 길이 체크 했다" 이러고 웹 개발자는 "뭔 소리냐. 자바스크립트 string length 좀 봐라. 틀렸잖아" 이럴 수 있습니다.


서버와 웹 개발 환경이 다르면 한쪽에서만 맞추는 건 의미 없고 함께 맞춰야 합니다.


그럴 때 서버, 웹 모두 호환이 가능한 소스가 필요한데 제가 소개하는 소스가 그런 겁니다.


단순히 영어, 숫자만 사용하면 모를까, 한글, 특수문자가 함께 사용된다면 자바스크립트 글자 수 체크를 홀수로도 해야 합니다. 서버 환경에서 한글은 3바이트로 계산될 때도 있고, 아닐 때도 있어요. 그건 직접 string length를 찍어봐야 알 수 있습니다.


아래 그림을 보시면 이해가 될 겁니다.



아 이게, 참 골치 아파요. ㅠㅠ 그러니, 여러분들은 Javascript 문자열 길이 체크하는 소스 복사해 사용하세요. 한글, 특수문자, 영어, 숫자까지 글자 수 맞춰줄 겁니다.


댓글