日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue 輸入電話號碼自動按3-4-4分割功能的實現代碼

瀏覽:22日期:2024-11-15 17:02:27

輸入框綁定

<input type='phone' placeholder=' 請輸入手機號' maxlength='13' v-model='phoneNum'/>

監聽事件,每次號碼發生改變時觸發大體的邏輯是:先比較號碼變化前后的長度,判斷是輸入還是刪除,如果是輸入的話,利用正則表達式改變號碼格式。

watch: { phoneNum (newValue, oldValue) { // 監聽電話號碼 this.phoneNum = newValue.length > oldValue.length ? newValue.replace(/s/g, ’’).replace(/(d{3})(d{0,4})(d{0,4})/, ’$1 $2 $3’) : this.phoneNum.trim() if (this.phoneNum.length === 13) { // 驗證/保存的手機號碼,去除空格 this.state.checkPhoneNum = this.phoneNum.replace(/s/g, ’’) console.log(’輸入的電話號碼是:’, this.state.checkPhoneNum) } } },

效果示意

vue 輸入電話號碼自動按3-4-4分割功能的實現代碼

附錄:下面看下vue手機號按344分隔,銀行卡號每4位空格分隔

實現效果:

1. 手機號輸入/粘貼時,不允許輸入數字外的其它字符,按344分隔,最大輸入11位數字

2. 銀行卡號輸入/粘貼時,不允許輸入數字外的其它字符,每四位用空格分隔

vue 輸入電話號碼自動按3-4-4分割功能的實現代碼

代碼:

<template> <div class='form'> <p> 手機號: <input v-model='mobile' type='tel' ref='mobile' maxlength='13' @keyup='inputMobile' @paste='inputMobile' /> </p> <p> 銀行卡號: <input v-model='card' type='text' @keyup='inputCard' @paste='inputCard' /> </p> </div></template>

js:

<script> export default { data() { return { mobile: ’’, card: ’’ } }, methods: { inputMobile() { let value = this.mobile.replace(/D/g, ’’).substr(0, 11) // 不允許輸入非數字字符,超過11位數字截取前11位 let len = value.length if (len > 3 && len < 8) { value = value.replace(/^(d{3})/g, ’$1 ’) } else if (len >= 8) { value = value.replace(/^(d{3})(d{4})/g, ’$1 $2 ’) } this.mobile = value }, inputCard() { this.card = this.card.replace(/D/g, ’’) // 不允許輸入非數字字符 this.card = this.card.replace(/(d{4})(?=d)/g, ’$1 ’) // 4位一組,非獲取匹配最后一組數字,避免刪除到空格時會馬上自動補齊 } } } </script>

上述方案即可實現基本效果,但如果從中間開始刪除或添加內容時,光標會自動跑到最后,如下:

vue 輸入電話號碼自動按3-4-4分割功能的實現代碼

若想光標留在刪除/添加內容位置,需要設置光標位置:

vue 輸入電話號碼自動按3-4-4分割功能的實現代碼

修改js如下:

<script> export default { data () { return { mobile: ’’, card: ’’ } }, methods: { inputMobile (e) { this.formatMobile(e) this.mobile = this.$refs.mobile.value }, formatMobile (e) { let val = this.$refs.mobile.value // 不可直接用this.mobile,第一方便提取該方法降低代碼耦合度,第二直接用this.mobile,在輸入漢字時按下shift按鍵會導致無法再輸入和刪除內容 let selStart = this.$refs.mobile.selectionStart // 選中區域左邊界位置 let mobileLen = val.length let value = this.getValue(e, val).substr(0, 11) // 獲取輸入/粘貼內容,并截取前11位 let len = value.length if (len > 3 && len < 8) { value = value.replace(/^(d{3})/g, ’$1 ’) } else if (len >= 8) { value = value.replace(/^(d{3})(d{4})/g, ’$1 $2 ’) } this.$refs.mobile.value = value if (selStart !== mobileLen) { if (selStart === 3) { selStart++ } // 設置光標位置 this.$refs.mobile.selectionStart = this.$refs.mobile.selectionEnd = selStart } }, getValue(e, val) { let value = ’’ if (e.type === ’keyup’) { value = val.replace(/D/g, ’’) } else if (e.type === ’paste’) { // window.clipboardData:IE瀏覽器獲取剪貼板數據對象 // event.clipboardData:Chrome, Firefox, Safari獲取剪貼板數據對象 let clipboardData = event.clipboardData || window.clipboardData; value = clipboardData.getData(’Text’); // 獲取剪貼板text格式的數據 value = value.replace(/D/g, ’’) } return value } } }</script>

未實現:

不允許粘貼非數字內容到輸入框還未實現,改為了提交時校驗,如果有比較好的解決方案望大家提出

到此這篇關于vue 輸入電話號碼自動按3-4-4分割功能的實現代碼的文章就介紹到這了,更多相關vue輸入電話號碼自動分割內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript vue
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品一级| 亚洲一级二级| 国产精品videossex久久发布| 久久亚洲国产| 免费国产自久久久久三四区久久 | 国产一区二区中文| 国产成人免费精品| 综合日韩av| 91亚洲自偷观看高清| 国产精品毛片一区二区在线看| 国产日产精品_国产精品毛片| 欧美日韩视频一区二区三区| 亚洲精品在线观看91| 久久在线视频免费观看| 日韩国产网站| 成人av三级| 精品日韩一区| 久久免费精品| 久久精品女人| 中文字幕成在线观看| 四虎4545www国产精品| 亚洲不卡av不卡一区二区| 久久久久久久久久久妇女| 欧美粗暴jizz性欧美20| 女人天堂亚洲aⅴ在线观看| 视频在线观看国产精品| 亚洲精品中文字幕乱码| 久久性天堂网| 97久久亚洲| 亚洲午夜一级| 亚洲毛片一区| 久久婷婷一区| 三级亚洲高清视频| 久久这里只有| 免费日韩av片| 国产精品久久乐| 亚洲永久字幕| 精品三区视频| 尤物精品在线| 久久亚洲精品中文字幕| 免费久久精品| 免费在线看一区| 欧美日一区二区在线观看| 天堂网在线观看国产精品| 日本少妇精品亚洲第一区| 亚洲成人av观看| 国产66精品| 亚州精品视频| 在线中文字幕播放| 视频国产精品| 夜夜嗨一区二区| 国产一区二区三区不卡av | 午夜在线精品| 久久青青视频| 日韩精品国产精品| 日本在线视频一区二区| 日韩不卡免费高清视频| 国产精品亚洲一区二区在线观看| 一区视频在线| 青青久久av| 久久成人高清| 国产精品地址| 国产精品三级| 最新国产精品视频| 香蕉久久夜色精品国产| 欧美日韩国产一区精品一区| 人在线成免费视频| 三上悠亚国产精品一区二区三区| 国产成人免费视频网站视频社区| 亚洲精品自拍| 婷婷综合在线| 群体交乱之放荡娇妻一区二区| 精品亚洲a∨| 麻豆精品av| 久久一区国产| 国内不卡的一区二区三区中文字幕| 国产乱论精品| 国产精品www.| 超碰成人av| 欧美成a人片免费观看久久五月天| 欧美日韩精品一区二区三区在线观看| 日日摸夜夜添夜夜添国产精品| 综合激情在线| 日韩中文av| 亚洲免费福利一区| 日韩精品a在线观看91| 日韩一区二区久久| 一区二区电影| 国产日韩视频在线| 国产精品一区毛片| 国产精品第十页| 久久av国产紧身裤| 国产精品久久久久久久免费观看| 卡一卡二国产精品| 超级白嫩亚洲国产第一| 美女毛片一区二区三区四区 | 欧美国产小视频| 国产一区二区三区四区二区| 久久精品国产在热久久| 欧美激情另类| 日韩午夜在线| 一区二区三区国产盗摄| 97久久亚洲| 精品视频免费| 免费视频久久| 国产欧美日韩亚洲一区二区三区| 美女网站久久| 国产精品tv| 亚洲欧美网站在线观看| 国产一区国产二区国产三区 | 最新日韩欧美| 日韩精品视频在线看| 久久99国产精品视频| 红桃视频国产一区| 91福利精品在线观看| 999国产精品视频| 国产精品亚洲综合在线观看| 四虎4545www国产精品| 最新国产精品视频| 亚洲a一区二区三区| 美女精品在线观看| 国产色99精品9i| 视频一区中文字幕精品 | 欧美日韩va| 成人在线免费观看网站| 日本午夜精品一区二区三区电影| 久久精品免费看| 视频一区在线播放| 国产精品麻豆久久| 少妇精品久久久一区二区三区| 亚洲四虎影院| 久久亚洲资源中文字| 日韩精品高清不卡| 视频一区二区中文字幕| 99久久婷婷这里只有精品| 麻豆精品久久| 日本综合视频| 久久午夜精品| 国产精品腿扒开做爽爽爽挤奶网站| caoporn视频在线| 国产情侣久久| 在线精品福利| 日韩欧美久久| 91精品福利观看| 日本va欧美va精品发布| 日韩欧美四区| 久久69成人| 秋霞国产精品| 免播放器亚洲| 日韩成人一级| 欧美在线首页| 久久午夜影院| 国精品产品一区| 久久伊人亚洲| 免费在线亚洲欧美| 精品日韩在线| 日韩国产欧美一区二区| 国产精品99一区二区三| 97在线精品| 五月天综合网站| 亚洲福利久久| 亚洲国产成人精品女人| 97精品国产| 美女av在线免费看| 欧美精品九九| 最新国产精品| 国产精品最新自拍| 国产一二在线播放| 99精品电影| 免费不卡中文字幕在线| 欧美日韩国产免费观看| 国产剧情在线观看一区| 久久久影院免费| 欧美片网站免费| 秋霞影视一区二区三区| 国产午夜精品一区在线观看| 黄色在线观看www| 亚洲少妇自拍| 国产精品香蕉| 激情久久久久久| 国产日韩欧美在线播放不卡| 国产精品xxxav免费视频| 久久久久午夜电影| 欧美99久久| 欧美激情五月| 精品一区免费| 天堂网av成人| 国产福利91精品一区二区| 亚洲欧美日韩国产| 精品香蕉视频| 青青国产91久久久久久| 亚洲网站视频| 亚洲国产专区| 香蕉人人精品| 亚洲激情久久| 欧美特黄一级| 奇米亚洲欧美| 久久精品色播| 国产伊人久久| 色爱综合网欧美|