JS 중국어 문자열 을 포함 한 우호 적 인 캡 처 기능 분석 실현

1843 단어 JS중국어.문자열
이 사례 는 JS 가 중국어 문자열 을 포함 한 우호 적 인 캡 처 기능 을 실현 하 는 것 을 보 여 준다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
문자열 을 표시 할 때 문자열 이 너무 길 지 않도록 문자열 을 캡 처 합 니 다.보통 js 의 substr 또는 substring 방법,문자열 의 length 속성 을 사용 합 니 다.
중국어 가 아 닌 문자열 처 리 는 간단 하지만 중국어 문자 의 length  속성 값 은 1  2 가 아니 라 처리 가 우호 적 이지 않 습 니 다.
예컨대  문자열 이 있 습 니 다.  1234567890   화해시키다  하나,둘,셋,넷,다섯,여섯,일곱,여덟,아홉,
너 는 단지 다섯 자리 의 길 이 를 표시 하고 싶 을 뿐,왕왕 이렇게 조작 할 수 있다  str = str.substr(0, 5);
그런데 12345.  1,2,3,4,5 가 차지 하 는 너비 와 는 다르다.왜냐하면 중국 어 는 2 바이트 를 차지 하기 때문에 효과 가 더욱 좋다.
그러므로 아래 의 js 를 봉인 하면 그 는 중국어 문자 의 length 를 2 로 판별 할 수 있다.

$.String.Substr = function (str, n) {//             
  if (str.replace(/[\u4e00-\u9fa5]/g, "**").length <= n) {
    return str;
  }
  else {
    var len = 0;
    var tmpStr = "";
    for (var i = 0; i < str.length; i++) {//     
      if (/[\u4e00-\u9fa5]/.test(str[i])) {//         
        len += 2;
      }
      else {
        len += 1;
      }
      if (len > n) {
        break;
      }
      else {
        tmpStr += str[i];
      }
    }
    return tmpStr + " ...";
  }
};

PS:여기 서 여러분 께 2 가지 온라인 문자 통계 도 구 를 추천 합 니 다.모두 중 영문 과 기호 에 대한 계산 기능 을 포함 하고 여러분 에 게 참고 가치 가 있 을 것 이 라 고 믿 습 니 다.
온라인 글자 수 통계 도구:
http://tools.jb51.net/code/zishutongji
온라인 문자 통계 및 편집 도구:
http://tools.jb51.net/code/char_tongji
자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 살 펴 볼 수 있다.,,,,,,,,,,,,,,,,
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기