JS 구현 중 영문 혼합 문자 넘 침 우호 캡 처 기능
substr()방법 은 start 아래 표 시 된 지정 한 수의 문 자 를 문자열 에서 추출 할 수 있 습 니 다.
substring()방법 은 문자열 에서 두 개의 지정 한 아래 표 사이 에 있 는 문 자 를 추출 하 는 데 사 용 됩 니 다.
중국어 가 아 닌 문자열 처 리 는 간단 하지만 중국어 문자 의 length 속성 값 은 1 2 가 아니 라 처리 가 우호 적 이지 않 습 니 다.
예컨대 문자열 이 있 습 니 다. 'abcdefg 와 '나 는 중화 인민공화국 을 사랑한다.
너 는 단지 다섯 자리 의 길 이 를 표시 하고 싶 을 뿐,왕왕 이렇게 조작 할 수 있다
str = str.substr(0, 5);
그러나'abcde'는'중국 사람 을 사랑 합 니 다'가 차지 하 는 너비 와 다 릅 니 다.중국 어 는 흔히 2 바이트 를 차지 하기 때문에 효과 가 더 좋 음 을 나타 내기 위해 다음 과 같은 함 수 를 밀봉 합 니 다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS </title>
</head>
<body>
<script>
/**
* JS
* @param text
* @param length
*/
var zfc = {};
zfc.mixTextOverflow = function (text, length) {
if (text.replace(/[\u4e00-\u9fa5]/g, 'aa').length <= length) {
return text
} else {
var _length = 0
var outputText = ''
for (var i = 0; i < text.length; i++) {
if (/[\u4e00-\u9fa5]/.test(text[i])) {
_length += 2
} else {
_length += 1
}
if (_length > length) {
break
} else {
outputText += text[i]
}
}
return outputText + '...'
}
}
console.log(zfc.mixTextOverflow(' NEW SAT essay ', 12))
</script>
</body>
</html>
출력 결과:총결산
위 에서 말씀 드 린 것 은 편집장 님 께 서 소개 해 주신 JS 실현 중 영문 혼합 문자 에 우호 적 인 캡 처 기능 이 넘 쳐 여러분 께 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.