Vue校驗規則

2021-10-08 09:35:37 字數 3286 閱讀 2731

內建了一些校驗規則,如是否手機號,郵箱號,url等

這些規則方法,掛載在==$r==下面,如果驗證通過,返回true,否則返回false

是否郵箱號email(email)

校驗是否郵箱號,返回true或者false

// email 字串

console.log(this.$r.email('[email protected]'));

是否手機號mobile(mobile)

校驗是否手機號,返回true或者false

// mobile 字串

console.log(this.$r.mobile('13845678900'));

是否url url(url)

校驗是否url,返回true或者false

// url字串

console.log(this.$r.url(''));

是否為空

這裡指的「空」,包含如下幾種情況:

值為undefined(一種型別),非字串"undefined"

字串長度為0,也即空字串

值為false(布林型別),非字串"false"

值為數值0(非字串"0"),或者nan

值為null,空物件{},或者長度為0的陣列

console.log(this.$r.isempty(0));
是否普通日期

驗證乙個字串是否日期,返回true或者false,如下行為正確:

2020-02-10、2020-02-10 08:32:10、2020/02/10 3:10、2020/02/10 03:10、2020/02-10 3:10
如下為錯誤:

2023年02月10日、2020-02-10 25:32
總的來說,年月日之間可以用"/「或者」-「分隔(不能用中文分隔),時分秒之間用」:"分隔,數值不能超出範圍,如月份不能為13,則檢驗成功,否則失敗。

// date 日期字串

console.log(this.$r.date('2020-02-10 08:32:10'));

是否十進位制數值

整數,小數,負數,帶千分位數(2,359.08)等可以檢驗通過,返回true或者false。

number(number)

// number 數字

console.log(this.$r.number('2020'));

是否整數

所有字元都在0-9之間,才校驗通過,結果返回true或者false。

digits(number)

// number 數字

console.log(this.$r.digits('2020'));

是否身份證號

身份證號,包括尾數為"x"的型別,可以校驗通過,結果返回true或者false。

idcard(idcard)

//  idcard 身份證號

console.log(this.$r.idcard('110101199003070134'));

是否車牌號

可以校驗舊車牌號和新能源型別車牌號,結果返回true或者false。

carno(carno)

// carno 車牌號

console.log(this.$r.carno('京a88888'));

是否金額

最多兩位小數,可以帶千分位,結果返回true或者false。

amount(amount)

amount 金額字串

console.log(this.$r.amount('3,233.08'));

是否漢字

可以為單個漢字,或者漢字組成的字串,結果返回true或者false。

chinese(zh)

zh 中文字串

console.log(this.$r.chinese('更上一層樓'));

是否字母

只能為"a-z"或者"a-z"之間的字元,結果返回true或者false。

letter(en)

en 字母串

console.log(this.$r.letter('success'));

是否字母或者數字

只能是字母或者數字,結果返回true或者false。

enornum(str)

str 字母或者數字字串

console.log(this.$r.enornum('success400'));

是否包含某個值

字串中是否包含某乙個子字串,區分大小寫,結果返回true或者false。

contains(str, substr)

str 字串

substr 子字串

console.log(this.$r.contains('hello word', 'word'));

數值是否在某個範圍內

如30在"29-35"這個範圍內,不在"25-28"這個範圍內,結果返回true或者false。

range(number, range)

number 數值

range 如"[25-35]"

console.log(this.$r.range(35, [30, 34]));

字串長度是否在某個範圍內

如"abc"長度為3,範圍在"2-5"這個區間,結果返回true或者false。

rangelength(str, range)

str 數值

range 如"[25, 35]"

console.log(this.$r.rangelength('abc', [3, 10]));

通過main.js進行指令碼匯入掛載

vue專案設定eslint規則校驗

校驗template模板的規範,vue元件 props data等順序一系列推薦風格等 用於校驗js的語法規範,這裡使用airbnb規則 npm i d prettier eslint plugin prettier eslint config prettier prettier prettier ...

Vue中常用表單校驗規則整理

在 vue開發中,難免遇到各種表單校驗,elementui自帶的驗證往往不能滿足複雜的需求。這裡整理了一些高頻率用到的校驗方法,如果錯誤歡迎指出。export function validateip rule,value,callback else 1 d d 2 0 4 d 25 0 5 d 1 ...

前端Vue中常用rules校驗規則

pattern d 1 d d 2 0 4 d 25 0 5 d 1 d d 2 0 4 d 25 0 5 d 1 d d 2 0 4 d 25 0 5 d 1 d d 2 0 4 d 25 0 5 2.是否手機號碼或者固話 pattern 0 d d 1 34578 d 3.是否身份證號碼 pat...