做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

如何使用Vue控制字符和字節(jié)顯示個數(shù)

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:44:44
文檔

如何使用Vue控制字符和字節(jié)顯示個數(shù)

如何使用Vue控制字符和字節(jié)顯示個數(shù):這次給大家?guī)砣绾问褂肰ue控制字符和字節(jié)顯示個數(shù),使用Vue控制字符和字節(jié)顯示個數(shù)的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。需求需求:結(jié)合Vue實現(xiàn)下面的效果輸入框中最多輸入16個字符漢字最多顯示5個,超出部分以...顯示英文最多顯示10個,超
推薦度:
導(dǎo)讀如何使用Vue控制字符和字節(jié)顯示個數(shù):這次給大家?guī)砣绾问褂肰ue控制字符和字節(jié)顯示個數(shù),使用Vue控制字符和字節(jié)顯示個數(shù)的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。需求需求:結(jié)合Vue實現(xiàn)下面的效果輸入框中最多輸入16個字符漢字最多顯示5個,超出部分以...顯示英文最多顯示10個,超
這次給大家?guī)砣绾问褂肰ue控制字符和字節(jié)顯示個數(shù),使用Vue控制字符和字節(jié)顯示個數(shù)的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

需求

需求:結(jié)合Vue實現(xiàn)下面的效果

  1. 輸入框中最多輸入16個字符

  2. 漢字最多顯示5個,超出部分以...顯示

  3. 英文最多顯示10個,超出部分以...顯示

實現(xiàn)

搭建簡單頁面,并設(shè)置簡單樣式

在正式開始寫核心代碼之前,要先把代碼結(jié)構(gòu)搭建起來,這樣后面寫的時候就會看著簡潔點了。

首先需要一個輸入框用來輸入內(nèi)容,其次需要一個元素,用來顯示輸入框中的內(nèi)容,實現(xiàn)數(shù)據(jù)的雙向綁定。

其中,輸入內(nèi)容的最大長度是可以通過input標(biāo)簽的屬性來指定的。

<p id="app">
 <input v-model="txt" class="clsinp" maxlength="16" placeholder="請輸入內(nèi)容" type="text">
 <p class="clsmsg">
 <p>內(nèi)容:<span>{{txt}}</span></p>
 <p>輸入的字符個數(shù):<span>{{computedCharLen}}</span></p>
 <p>輸入的字節(jié)個數(shù):<span>{{computedByteLen}}</span></p>
 </p>
</p>

頁面的結(jié)構(gòu)已經(jīng)搭建完成了,那下面就是做一些簡單的樣式優(yōu)化了。

* { 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; }

最后一步應(yīng)該就是引入Vue,然后搭建一些簡單的數(shù)據(jù)內(nèi)容。

var vm = new Vue({
 el: '#app',
 data() {
 return {
 txt: ''
 }
 },
 // 后期代碼在下面補充
})

ASCII范圍內(nèi)與范圍外

了解ASCII的內(nèi)容,請移步到http://www.asciima.com/

ASCII中包含256個字符,因此超過256之外的字符,全部都是非ASCII字符,一般情況下,漢字就是在這個范圍中。

因此,編碼不在0-255的字符可以使用正則表達(dá)式/[^\x00-\xff]/g來進行匹配。這個時候就提供了一個思路,如果不是ASCII碼中的字符,那么就默認(rèn)它占了兩個字節(jié)。

我們修改一下頁面結(jié)構(gòu),輸出一些測試信息:

<p id="app">
 <input v-model="txt" class="clsinp" maxlength="16" placeholder="請輸入內(nèi)容" type="text">
 <p class="clsmsg">
 <p>內(nèi)容:<span>{{txt}}</span></p>
 <p>輸入的字符個數(shù):<span>{{computedCharLen}}</span></p>
 <p>輸入的字節(jié)個數(shù):<span>{{computedByteLen}}</span></p>
 </p>
</p>

補充需要的計算屬性:

computed: {
 // 獲取字符的個數(shù)
 computedCharLen() {
 return this.txt.length
 },
 // 獲取字節(jié)的個數(shù)
 computedByteLen() {
 return this.txt.replace(/[^\x00-\xff]/g, '01').length
 }
}

這個時候,我們輸入內(nèi)容,出現(xiàn)下面的效果:

這個時候會發(fā)現(xiàn),已經(jīng)實現(xiàn),ASCII碼范圍內(nèi)的占1位,超出范圍的占2位。

控制顯示的內(nèi)容

內(nèi)容顯示使用計算屬性來實現(xiàn):

<p>內(nèi)容:<span>{{computedTxt}}</span></p>
// 控制顯示的內(nèi)容
computedTxt() {
 return this.methodGetByteLen(this.txt, 10)
}

下面補充一下methodGetByteLen方法:

/**
 * str 需要控制的字符串
 * len 字節(jié)的長度,如5個漢字,10個英文,輸入?yún)?shù)就是10
 */
methodGetByteLen(str, len) {
 // 如果字節(jié)的長度小于控制的長度,那么直接返回
 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一二三四',顯示的結(jié)果就是 '一二aaa一...'
 return str.substr(0, Math.floor(i / 2) * 2) + '...'
 }
 }
}

最終的顯示情況沒有超過最大指定長度的情況

超過最大指定長度(漢字輸入)

超過最大指定長度(數(shù)字輸入)

超過最大指定長度(漢字和字母的組合)

完整代碼

最后,把最終代碼粘貼出來:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta txt="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <style type="text/css">
 * {
 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;
 }
 </style>
</head>
<body>
 <p id="app">
 <input v-model="txt" class="clsinp" maxlength="16" placeholder="請輸入內(nèi)容" type="text">
 <p class="clsmsg">
 <p>內(nèi)容:<span>{{computedTxt}}</span></p>
 <p>輸入的字符個數(shù):<span>{{computedCharLen}}</span></p>
 <p>輸入的字節(jié)個數(shù):<span>{{computedByteLen}}</span></p>
 </p>
 </p>
</body>
</html>
<script type="text/javascript" src="./vue2.5.1.js"></script>
<script type="text/javascript">
 var vm = new Vue({
 el: '#app',
 data() {
 return {
 txt: ''
 }
 },
 // 后期代碼在下面補充
 methods: {
 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) {
 return str.substr(0, Math.floor(i / 2) * 2) + '...'
 }
 }
 }
 },
 computed: {
 // 獲取字符的個數(shù)
 computedCharLen() {
 return this.txt.length
 },
 // 獲取字節(jié)的個數(shù)
 computedByteLen() {
 return this.txt.replace(/[^\x00-\xff]/g, '01').length
 },
 // 控制顯示的內(nèi)容
 computedTxt() {
 return this.methodGetByteLen(this.txt, 10)
 }
 }
 })
</script>

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注Gxl網(wǎng)其它相關(guān)文章!

推薦閱讀:

怎樣實現(xiàn)微信小程序的自定義多選事件

如何對于create-react-app修改為多頁面支持

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

如何使用Vue控制字符和字節(jié)顯示個數(shù)

如何使用Vue控制字符和字節(jié)顯示個數(shù):這次給大家?guī)砣绾问褂肰ue控制字符和字節(jié)顯示個數(shù),使用Vue控制字符和字節(jié)顯示個數(shù)的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。需求需求:結(jié)合Vue實現(xiàn)下面的效果輸入框中最多輸入16個字符漢字最多顯示5個,超出部分以...顯示英文最多顯示10個,超
推薦度:
標(biāo)簽: VUE 怎么 字符
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 静海县| 于田县| 芦山县| 凌海市| 巍山| 新丰县| 沂源县| 高清| 南昌县| 安康市| 合阳县| 彭阳县| 舟曲县| 朝阳区| 南皮县| 黔东| 台南市| 游戏| 淮滨县| 濮阳市| 芜湖县| 南皮县| 广宁县| 滁州市| 郁南县| 黄山市| 冀州市| 巩义市| 高淳县| 广河县| 集安市| 大埔区| 集贤县| 鄯善县| 双城市| 慈利县| 循化| 铁岭县| 华阴市| 河西区| 沙坪坝区|