vue限制文本輸入框只允許輸入字母、數(shù)字、禁止輸入特殊字符
一、基本結(jié)構(gòu)
<input type="text" v-model="note" maxlength="18"> <script> export default { data () { return { note: '', } } } </script>
二、監(jiān)聽表單輸入的內(nèi)容
(1) 只允許輸入字母
watch: { note (newValue, oldValue) { console.log(newValue) this.note = newValue.replace(/[\u4e00-\u9fa5/\s+/]|[`~!@#$%^&*() \\+ =<>?"{}|, \\/ ;' \\ [ \] ·~!@#¥%……&*()—— \\+ ={}|《》?:“”【】、;‘',。、_.-:]/g, "") } },
(2)只能輸入漢字、英文、數(shù)字
watch: { note (newValue, oldValue) { console.log(newValue) this.note = newValue.replace(/[^a-zA-Z0-9\u4E00-\u9FA5]/g, "") } },
(3) 只允許輸入數(shù)字
watch: { note (newValue, oldValue) { console.log(newValue) this.note = newValue.replace(/[^\d]/g, "") } },
(4)只允許輸入數(shù)字、字母
watch: { note (newValue,oldValue) { console.log(newValue) this.note = newValue.replace(/[\u4e00-\u9fa5/\s+/]|[^a-zA-Z0-9\u4E00-\u9FA5]/g, "") } },
注意 沒有采用添加 input事件
三、使用方法的缺陷:
<input type="text" v-model="note" maxlength="18" @input="filter"> methods: { filter (e) { console.log(e) this.note = e.data.replace(/[\u4e00-\u9fa5/\s+/]|[`~!@#$%^&*() \\+ =<>?"{}|, \\/ ;' \\ [ \] ·~!@#¥%……&*()—— \\+ ={}|《》?:“”【】、;‘',。、_.-:]/g, "") } },
(1)只能輸入一個(gè)字母內(nèi)容
(2)采用輸入法輸入多個(gè)字符時(shí)會(huì)報(bào)錯(cuò) 而且用拼音輸入法按回車鍵也可以顯示其他數(shù)字或字符
補(bǔ)充 校驗(yàn)手機(jī)號(hào)
test () { console.log(/^1[34578]\d{9}$/.test(this.mobile)) }
只允許輸入數(shù)字、點(diǎn) 保留兩位小數(shù)
checkNumber(e) { let val = e.target.value.replace(/(^\s*)|(\s*$)/g, "") var reg = /[^\d.]/g // 只能是數(shù)字和小數(shù)點(diǎn),不能是其他輸入 val = val.replace(reg, "") // // 保證第一位只能是數(shù)字,不能是點(diǎn) val = val.replace(/^\./g, ""); // // 小數(shù)只能出現(xiàn)1位 val = val.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); // // 小數(shù)點(diǎn)后面保留2位 val = val.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); // console.log(val); this.$nextTick(() => { this.form.price = val; }) },
到此這篇關(guān)于vue限制文本輸入框只允許輸入字母、數(shù)字、不允許輸入特殊字符的文章就介紹到這了,更多相關(guān)vue限制文本輸入框輸入數(shù)字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue+webrtc(騰訊云) 實(shí)現(xiàn)直播功能的實(shí)踐
本文主要介紹了vue+webrtc(騰訊云) 實(shí)現(xiàn)直播功能的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11vue使用Vue.extend創(chuàng)建全局toast組件實(shí)例
這篇文章主要介紹了vue使用Vue.extend創(chuàng)建全局toast組件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03vue中使用v-if,v-else來設(shè)置css樣式的步驟
我們?cè)谑褂胿ue項(xiàng)目開發(fā)時(shí),v-if是使用的非常多的,在這里我們談?wù)勅绾问褂胿-i來綁定修改css樣式,使用的主要是雙向數(shù)據(jù)綁定,即通過改變他的狀態(tài)來改變他的樣式,這篇文章主要介紹了vue中如何使用v-if,v-else來設(shè)置css樣式,需要的朋友可以參考下2023-03-03vue-music關(guān)于Player播放器組件詳解
這篇文章主要為大家詳細(xì)介紹了vue-music關(guān)于Player播放器組件的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11解決vue項(xiàng)目中遇到 Cannot find module ‘chalk‘ 報(bào)錯(cuò)的問題
這篇文章主要介紹了解決vue項(xiàng)目中遇到 Cannot find module ‘chalk‘ 報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11vue中動(dòng)態(tài)修改img標(biāo)簽中src的方法實(shí)踐
本文主要介紹了vue中動(dòng)態(tài)修改img標(biāo)簽中src的方法實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07vue基于html2canvas和jspdf?生成pdf?、解決jspdf中文亂碼問題的方法詳解
這篇文章主要介紹了vue基于html2canvas和jspdf?生成pdf?、解決jspdf中文亂碼問題的方法,結(jié)合實(shí)例形式詳細(xì)描述了中文亂碼問題的原因、解決方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2023-06-06