Vue를 사용하여 표시되는 문자 및 바이트 수를 제어하는 방법
이번에는 Vue를 사용하여 표시되는 문자 수와 바이트 수를 제어하는 방법과 Vue를 사용하여 표시되는 문자 수와 바이트 수를 제어할 때 어떤 주의사항이 있는지 보여드리겠습니다. 다음은 실제 사례입니다. 봐.
요구사항
요구사항: Vue와 결합하면 다음과 같은 효과를 얻을 수 있습니다
입력창에는 최대 16자까지 입력 가능
한자는 최대 5자까지 표시 가능하며, 초과분은
...
로 표시됨...
显示英文最多显示10个,超出部分以
...
显示
实现
搭建简单页面,并设置简单样式
在正式开始写核心代码之前,要先把代码结构搭建起来,这样后面写的时候就会看着简洁点了。
首先需要一个输入框用来输入内容,其次需要一个元素,用来显示输入框中的内容,实现数据的双向绑定。
其中,输入内容的最大长度是可以通过input标签的属性来指定的。
<p id="app"> <input v-model="txt" class="clsinp" maxlength="16" placeholder="请输入内容" type="text"> <p class="clsmsg"> <p>内容:<span>{{txt}}</span></p> <p>输入的字符个数:<span>{{computedCharLen}}</span></p> <p>输入的字节个数:<span>{{computedByteLen}}</span></p> </p> </p>
页面的结构已经搭建完成了,那下面就是做一些简单的样式优化了。
* { margin: 0; padding: 0; -webkit-box-sizing: border-box; box-sizing: border-box; } body { background: #efefef; } .clsinp { width: 100%; height: 40px; outline: none; line-height: 40px; font-size: 16px; padding: 0 10px; margin-top: 20px; color: blue; } .clsmsg { padding: 10px 10px; } .clsmsg span { color: blue; }
最后一步应该就是引入Vue,然后搭建一些简单的数据内容。
var vm = new Vue({ el: '#app', data() { return { txt: '' } }, // 后期代码在下面补充 })
ASCII范围内与范围外
了解ASCII的内容,请移步到http://www.asciima.com/
。
ASCII中包含256个字符,因此超过256之外的字符,全部都是非ASCII字符,一般情况下,汉字就是在这个范围中。
因此,编码不在0-255的字符可以使用正则表达式/[^x00-xff]/g
来进行匹配。这个时候就提供了一个思路,如果不是ASCII码中的字符,那么就默认它占了两个字节。
我们修改一下页面结构,输出一些测试信息:
<p id="app"> <input v-model="txt" class="clsinp" maxlength="16" placeholder="请输入内容" type="text"> <p class="clsmsg"> <p>内容:<span>{{txt}}</span></p> <p>输入的字符个数:<span>{{computedCharLen}}</span></p> <p>输入的字节个数:<span>{{computedByteLen}}</span></p> </p> </p>
补充需要的计算属性:
computed: { // 获取字符的个数 computedCharLen() { return this.txt.length }, // 获取字节的个数 computedByteLen() { return this.txt.replace(/[^\x00-\xff]/g, '01').length } }
这个时候,我们输入内容,出现下面的效果:
这个时候会发现,已经实现,ASCII码范围内的占1位,超出范围的占2位。
控制显示的内容
内容显示使用计算属性来实现:
<p>内容:<span>{{computedTxt}}</span></p>
// 控制显示的内容 computedTxt() { return this.methodGetByteLen(this.txt, 10) }
下面补充一下methodGetByteLen
...
로 표시됨 구현
그 중 입력 태그
/** * str 需要控制的字符串 * len 字节的长度,如5个汉字,10个英文,输入参数就是10 */ methodGetByteLen(str, len) { // 如果字节的长度小于控制的长度,那么直接返回 if (this.computedByteLen <= len) { return str } for (let i = Math.floor(len / 2); i < str.length; i++) { if (str.substr(0, i).replace(/[^\x00-\xff]/g, '01').length >= len) { // Math.floor(i / 2) * 这里是控制特殊情况的显示 // 如 '一二aaa一二三四',显示的结果就是 '一二aaa一...' return str.substr(0, Math.floor(i / 2) * 2) + '...' } } }
Document
<p>内容:<span>{{computedTxt}}</span></p>
输入的字符个数:{{computedCharLen}}
输入的字节个数:{{computedByteLen}}
http://www.asciima.com/
을 방문하세요. ASCII에는 256자가 포함되므로 256자를 초과하는 문자는 모두 ASCII가 아닌 문자입니다. 일반적으로 한자는 이 범위 내에 있습니다.
따라서 인코딩이 0-255가 아닌 문자는 정규식
/[^을 사용할 수 있습니다. x00-xff]/g
를 일치시킵니다. 이때, ASCII 코드의 문자가 아닌 경우 기본적으로 2바이트를 차지한다는 아이디어가 제공됩니다. 페이지 구조를 수정하고 일부 테스트 정보를 출력합니다. rrreee
필요한 계산 속성을 추가합니다.

methodGetByteLen
메서드가 추가되었습니다. 🎜rrreee🎜최종 표시는 지정된 최대 길이를 초과하지 않습니다🎜🎜 🎜🎜🎜최대 지정 길이를 초과했습니다(한자 입력)🎜🎜🎜🎜🎜최대 지정 길이를 초과했습니다(숫자 입력)🎜🎜🎜🎜🎜최대 지정 길이를 초과했습니다(한자와 문자의 조합)🎜🎜🎜🎜🎜 🎜🎜전체 코드🎜 🎜🎜🎜마지막으로 최종 코드를 붙여넣으세요. 🎜rrreee🎜이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요. ! 🎜🎜추천 자료: 🎜🎜🎜WeChat 미니 프로그램에 대한 사용자 정의 다중 선택 이벤트를 구현하는 방법🎜🎜🎜🎜🎜여러 페이지를 지원하도록 create-react-app을 수정하는 방법🎜🎜🎜위 내용은 Vue를 사용하여 표시되는 문자 및 바이트 수를 제어하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1MB의 저장 용량은 2의 20승 바이트, 즉 1,048,576바이트에 해당합니다. MB는 컴퓨터의 저장 단위로, 1MB는 1024KB, 1KB는 1024B(바이트)이므로 "메가"라고 발음합니다. 따라서 1MB는 1048576(1024 *1024)바이트입니다.

128mb는 134217728바이트를 의미하며, 바이트 변환 공식은 "1MB=1024KB=1048576B=8388608bit"입니다. 즉, 영문자 1048576자, 한자 524288자를 저장할 수 있습니다. 트래픽 단위 변환 공식은 1GB=1024MB, 1MB=1024KB, 1KB입니다. = 1024B.

PHP를 사용하여 카메라 제어: 연결부터 촬영까지 전체 프로세스를 분석합니다. 화상 통화, 감시 시스템 등 카메라 애플리케이션이 점점 더 널리 보급되고 있습니다. 웹 애플리케이션에서는 PHP를 통해 카메라를 제어하고 작동해야 하는 경우가 많습니다. 이 기사에서는 PHP를 사용하여 카메라 연결부터 촬영까지 전체 과정을 구현하는 방법을 소개합니다. 카메라의 연결 상태를 확인하세요. 카메라 작동을 시작하기 전에 먼저 카메라의 연결 상태를 확인해야 합니다. PHP는 카메라 작동을 위한 확장 라이브러리 비디오를 제공합니다. 다음 코드를 전달할 수 있습니다

1비트는 1/8바이트와 같습니다. 이진수 체계에서 0 또는 1 각각은 비트(bit)이고, 비트는 데이터 저장의 가장 작은 단위이며, 8비트(bit, 약칭 b)마다 바이트(Byte)를 구성하므로 "1바이트( 바이트) = 8비트”. 대부분의 컴퓨터 시스템에서 바이트는 8비트 길이의 데이터 단위입니다. 대부분의 컴퓨터는 바이트를 사용하여 문자, 숫자 또는 기타 문자를 나타냅니다.

하나의 ASCII 문자는 1바이트를 차지합니다. ASCII 코드 문자는 컴퓨터에서 7비트 또는 8비트 바이너리 인코딩으로 표현되며 1바이트로 저장됩니다. 즉, 하나의 ASCII 코드가 1바이트를 차지합니다. ASCII 코드는 표준 ASCII 코드와 확장 ASCII 코드로 나눌 수 있습니다. 표준 ASCII 코드는 7비트 이진수(나머지 1개의 이진수는 0)를 사용하여 대문자와 소문자를 모두 나타냅니다. 숫자 0~9. 미국 영어에 사용되는 구두점 및 특수 제어 문자입니다.
![미디어 볼륨 조절 팝업을 [영구적으로] 비활성화하는 방법](https://img.php.cn/upload/article/000/000/164/168493981948502.png?x-oss-process=image/resize,m_fill,h_207,w_330)
해당 단축키를 이용해 볼륨 레벨을 미세 조정하면 화면에 미디어 볼륨 조절 팝업이 나타납니다. 이는 짜증스러울 수 있으므로 미디어 볼륨 제어 팝업을 영구적으로 비활성화하는 다양한 방법을 알아보려면 계속 읽어보세요. 미디어 볼륨 조절 팝업을 비활성화하는 방법은 무엇입니까? 1. 구글 크롬 작업 표시줄의 윈도우 아이콘을 클릭하고, 상단 검색창에 chrome을 입력한 후, 해당 검색 결과를 선택하면 구글 크롬이 실행됩니다. 주소 표시줄에 다음을 입력하거나 복사하여 붙여넣고 키를 누릅니다. 상단 검색 상자에 chrome://flags 유형 미디어 키를 입력하고 하드웨어 미디어 키 처리 드롭다운 목록에서 비활성화를 선택합니다. 이제 Google Chrome 앱을 종료하고 다시 시작하세요. Google

ASCII 코드는 1바이트를 차지합니다. ASCII 코드는 문자를 표현하는 데 사용되는 코딩 표준입니다. 7비트 이진수를 사용하여 문자, 숫자, 문장 부호, 특수 문자 등을 포함하여 128개의 문자를 표현합니다. 바이트는 컴퓨터 저장 장치의 기본 단위입니다. 8개의 이진수 비트로 구성됩니다. 각 이진수 비트는 0 또는 1일 수 있습니다. 1바이트는 256개의 서로 다른 값을 나타낼 수 있으므로 ASCII 코드의 모든 문자를 나타낼 수 있습니다.

UTF8로 인코딩된 한자는 3바이트를 차지합니다. UTF-8 인코딩에서는 한자 1개가 3바이트이고, 중국어 구두점 1개가 3바이트를 차지하는 반면, 유니코드 인코딩에서는 한자 1개(중국어 번체 포함)가 2바이트에 해당합니다. UTF-8은 각 문자를 인코딩하는 데 1~4바이트를 사용합니다. 하나의 US-ASCIl 문자는 인코딩하는 데 1바이트만 필요합니다. 발음 구별 부호가 있는 라틴어, 그리스어, 아르메니아어 및 기타 문자는 2바이트가 필요합니다. 부호화.
