vue中的正則表達式校驗、驗證
更新時間:2023年06月08日 10:07:04 作者:String佳佳
這篇文章主要介紹了vue中的正則表達式校驗、驗證方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
vue正則表達式校驗、驗證
1.el-form表單校驗
- el-form添加rules屬性,基礎(chǔ)用法見elementUI官網(wǎng);
- el-form添加rules屬性,通過正則表達式自定義校驗,用法如下:
?? ??? ?data() {
?? ??? ??? ?let validatorTelAndMobile = function (rule, value, callback) {
? ? ? ? ? ? ? if (!value) {
? ? ? ? ? ? ? ? return callback(new Error('請輸入聯(lián)系電話'));
? ? ? ? ? ? ? }
? ? ? ? ? ? ? let isTel = /^(0\d{2,3}-){0,1}\d{6,8}$/.test(value);
? ? ? ? ? ? ? let isMobile = /^1[34578]\d{9}$/.test(value);
? ? ? ? ? ? ? if (isTel || isMobile) {
? ? ? ? ? ? ? ? callback();
? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? callback(new Error('請輸入正確的聯(lián)系電話'));
? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? return {
? ? ? ? ? ? ?? ?rules:{
? ? ? ? ? ? ?? ??? ?telephone:[
? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? validator: validatorTelAndMobile, required: true, trigger: ['blur', 'change']
? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ],
? ? ? ? ? ? ?? ?}
? ? ? ? ? ? }
?? ??? ?}el-form-item添加rules屬性(行內(nèi)校驗),用法如下:
<el-form-item label="年齡:" prop="age" :rules="[{pattern: /^[0-9]*$/, message: '年齡只能為數(shù)字', trigger: 'blur'}]">
? ? <el-input v-model="user.age"></el-input>
</el-form-item>
?<el-form-item label="郵箱:" prop="email" :rules="{ required: true, message: '必須輸入郵箱', trigger: 'blur'}">
? ? ?<el-input v-model="newJgInfoXZ.nsdz"></el-input>
</el-form-item>2.純el-input標(biāo)簽內(nèi)校驗
<el-input v-model="age" ?oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
3.正則表達式在代碼中驗證字符串
/^[0-9]+([.][0-9]{1,2})?$/.test(待驗證的字符串或者數(shù)字)4.一些常用的正則表達式
10-32位數(shù)字或字母:----------/^[a-zA-Z0-9]{10,32}$/ ? ??
手機號:---------------------/^1[34578]\d{9}$/ ? ? ? ? ?
座機號:---------------------/^(0\d{2,3}-){0,1}\d{7,8}$/ ? ?
整數(shù):-----------------------/^[0-9]+$/ ? ? ? ? ?
不能包含中文:-----------------/^[^\u4e00-\u9fa5]+$/ ??
只能全是中文:-----------------/^[\u4e00-\u9fa5]+$/ ? ?
只能數(shù)字,且不能超過2位小數(shù):--/^[0-9]+([.][0-9]{1,2})?$/ ? ??
15或18位身份證號:------------/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ ? ?
士官證號,例如:軍字第2001988號:----/^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(號?)$/ ?
3至21位戶口本號:------------------/^[a-zA-Z0-9]{3,21}$/ ? ??
15或者17或者18或者20位字母、數(shù)字組成:---/^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/ ?
至少12個字符,其中需包含大小寫字母,2位以上數(shù)字和2位以上符號-----/(?=.*?[A-Z].*?)(?=.*?[a-z].*?)(?=.*?[0-9].*?[0-9])(?=.*?[~!@#$%^&*()_+|<>,.?/:;'\[\]{}\"].*?[~!@#$%^&*()_+|<>,.?/:;'\[\]{}\"])^\S{12,}$/
郵箱:------------------------/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ? ?
2020/05/21格式日期:----------(/^[0-9]{4}\/[0-9]{1,2}\/[0-9]{1,2}$/
正數(shù) 大于等于0的整數(shù)或者小數(shù) ?>=0 float------/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
正數(shù) 大于0的整數(shù)或者小數(shù) ?>0 float----------/^[+]{0,1}[1-9][0-9]*$|^[+]{0,1}(\d+\.\d+)$/
正整數(shù) 大于等于0的整數(shù) >=0 int----------/^[+]{0,1}(\d+)$/
正整數(shù) 大于0的整數(shù) >0 int--------------/^\+?[1-9][0-9]*$/
0-300整數(shù)------------------------/^[0-9]$|^[0-9]{2}$|^[1,2][0-9]{2}$|^[3][0][0]$/
長度至少5,必須包含數(shù)字和大小寫(可以含特殊字符)-----/^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{5,}$/
長度至少5,必須包含數(shù)字和大小寫(不能含特殊字符)-----/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{5,}$/vue判斷是否是數(shù)字的正則表達式
判斷是否是數(shù)字的正則表達式
var numReg = /^[0-9]*$/
var numRe = new RegExp(numReg)
if (!numRe.test(number)) {
? this.$message({
? ? type: 'warning',
? ? message: '請輸入數(shù)字 ',
? ? duration: 10000,
? ? showClose: true,
? })
? return false
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vuejs第十一篇組件之slot內(nèi)容分發(fā)實例詳解
這篇文章主要介紹了Vuejs第十一篇之slot內(nèi)容分發(fā)組件詳解的相關(guān)資料2016-09-09
vue設(shè)計與實現(xiàn)合理的觸發(fā)響應(yīng)
這篇文章主要為大家介紹了vue設(shè)計與實現(xiàn)合理的觸發(fā)響應(yīng)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08
Vue MVVM模型與data及methods屬性超詳細講解
MVVM旨在利用WPF中的數(shù)據(jù)綁定函數(shù),通過從視圖層中幾乎刪除所有GUI代碼(代碼隱藏),更好地促進視圖層開發(fā)與模式其余部分的分離,這篇文章主要介紹了Vue MVVM模型與data及methods屬性2022-10-10
uniapp組件uni-file-picker中設(shè)置使用照相機和相冊權(quán)限的操作方法
這篇文章主要介紹了uniapp組件uni-file-picker中設(shè)置使用照相機和相冊的權(quán)限,在uniapp中,我們通常會使用uni-file-picker這個組件,但是這個組件中,有點缺陷,就是沒有對這個功能的傳值設(shè)置,這里就要給組件進行修改了,需要的朋友可以參考下2022-11-11
Vue.js結(jié)合Ueditor富文本編輯器的實例代碼
本篇文章主要介紹了Vue.js結(jié)合Ueditor的項目實例代碼,這里整理了詳細的代碼,具有一定的參考價值,有興趣的可以了解一下2017-07-07
Vue3.0數(shù)據(jù)響應(yīng)式原理詳解
這篇文章主要介紹了Vue3.0數(shù)據(jù)響應(yīng)式原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10

