欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vue如何實(shí)現(xiàn)手機(jī)號(hào)碼校驗(yàn)功能-創(chuàng)新互聯(lián)

這篇文章主要介紹vue如何實(shí)現(xiàn)手機(jī)號(hào)碼校驗(yàn)功能,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

新巴爾虎左網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

HTML視圖層代碼:

  <div id="app">
  <input type="text" placeholder="請(qǐng)輸入手機(jī)號(hào)碼" v-model="val" @keyup="check"/>
  <div class="box" v-show="statu==true">您輸入的手機(jī)號(hào)碼格式正確</div>
 </div>

首先我們視圖層代碼是一個(gè)輸入框后面加上一個(gè)div作為提示信息,HTML代碼很簡(jiǎn)單就不過(guò)多講解了;

JS數(shù)據(jù)邏輯層代碼:

 //這里我們要引入一個(gè)文件,文件里面是防抖函數(shù)的是實(shí)現(xiàn)
  <script src="test.js"></script>
 <script>
 // 實(shí)例化 vue對(duì)象
  new Vue({
   el:"#app",
   data:{
        //val是雙向數(shù)據(jù)綁定綁定輸入框的值
    val:"",
        //此處狀態(tài)值是根據(jù)狀態(tài)值的變化來(lái)修改后面div的提示信息
    statu:false
   },
  mounted(){

  },
  methods:{
        //check是我們綁定的輸入框的@keyup事件,注意這里不能是函數(shù),不然不會(huì)觸發(fā),必須要是對(duì)象
   check:debounce(function(){
          //這里是我們調(diào)用方法,也就是我們要做的事情
    this.handle();
    console.log(new Date())
    }),
    handle(){
          //此處輸入是為了統(tǒng)計(jì)handle事件觸發(fā)的次數(shù)
     console.log(“函數(shù)防抖”);
     //這里定義校驗(yàn)規(guī)則
     let reg = /^1[3|4|5|7|8][0-9]{9}$/; 
     //校驗(yàn)手機(jī)號(hào)規(guī)則
           //如果校驗(yàn)不通過(guò)會(huì)返回false,如果校驗(yàn)通過(guò)會(huì)返回true
     if(reg.test(this.val)){
              //修改狀態(tài)值方便上面的視圖層判斷展示
      this.statu=true;
              //動(dòng)態(tài)的修改提示信息
      document.getElementsByClassName("box").innerHTML="您輸入的手機(jī)號(hào)碼格式錯(cuò)誤";
     }else{
      this.statu=false;
      document.getElementsByClassName("box").innerHTML="您輸入的手機(jī)號(hào)碼格式錯(cuò)誤";
     }
    },
  }
 })

test.js

 function debounce(fn) { //默認(rèn)300毫秒
  var timer;
  return function() {
   if(timer) {
    clearTimeout(timer);
   }
   timer = setTimeout(() => {
        定時(shí)器必須要更改this指向,可以用apply、bind、或者上面用變量轉(zhuǎn)換等方式來(lái)進(jìn)行更改this指向
  
    fn.apply(this); // this 指向vue
   }, 1000);
  };
 }

最后,我們的效果圖如下(這里只是簡(jiǎn)單的模擬效果,視圖層搭建的不是很美觀):

vue如何實(shí)現(xiàn)手機(jī)號(hào)碼校驗(yàn)功能   

我們可以看到我們打印的結(jié)果只輸出了一次,如果不使用防抖函數(shù),這里是會(huì)觸發(fā)11次的,因?yàn)橐还草斎肓?1個(gè)字符;假設(shè)我們的方法體中是發(fā)送ajax和操作DOM呢?為了一個(gè)手機(jī)號(hào)碼校驗(yàn),難道我們要進(jìn)行11次甚至更多次的ajax請(qǐng)求或者DOM操作嗎?如果是那樣,我們的程序性能可想而知,所以說(shuō)防抖函數(shù)是一種性能提升方案;

上述講述的是我們之前常見(jiàn)的cdn方式引入vue,那么我們?nèi)绾卧趘ue-cli腳手架中使用防抖函數(shù)來(lái)進(jìn)行提升性能呢?

vue-cli:

首先我們可以在build文件夾中新建一個(gè)js文件,這里我們定義common.js:

common.js

// 函數(shù)防抖
export function debounce(fn, delay) {
 // 記錄上一次的延時(shí)器
 var timer = null;
 var delay = delay || 200;
 return function() {
 // var args = arguments;
  var that = this;
  // 清除上一次延時(shí)器
  clearTimeout(timer)
  timer = setTimeout(function() {
   fn.apply(that)
  }, delay);
 }
 }

注意:我們?cè)趘ue-cli中自定義方法必須要export拋出,不然組件讀取不到

然后我們到我們需要用的文件中來(lái)進(jìn)行引入和使用:

需要使用的組件:

import {debounce} from "../../build/common"

有拋出就一定有引入,我們這里用import來(lái)引用common.js文件里面的方法,這里的debounce就是我們用來(lái)接收common.js里面方法的變量;

調(diào)用方式跟上面的一樣:

這里的search是視圖層綁定的觸發(fā)事件,注意這里也需要是對(duì)象的形式來(lái)調(diào)用
methods:{
 Search:debounce(function(){console.log(1234);},1000), 
}

以上是“vue如何實(shí)現(xiàn)手機(jī)號(hào)碼校驗(yàn)功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享題目:vue如何實(shí)現(xiàn)手機(jī)號(hào)碼校驗(yàn)功能-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://chinadenli.net/article20/deedjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航響應(yīng)式網(wǎng)站、網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化、定制開(kāi)發(fā)網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司