test 规则校验
uView内置了一些校验规则,如是否手机号,邮箱号,URL等
这些规则方法,挂载在$u.test
下面,如验证是否手机号:$u.test.mobile('13888889999')
,如果验证通过,返回true
,否则返回false
是否邮箱号
email(email)
校验是否邮箱号,返回true
或者false
。
email
字符串
console.log(this.$u.test.email('123465798@gmail.com'));
是否手机号
mobile(mobile)
校验是否手机号,返回true
或者false
。
mobile
字符串
console.log(this.$u.test.mobile('13845678900'));
是否URL
url(url)
校验是否URL链接,返回true
或者false
。
url
字符串
console.log(this.$u.test.url('http://www.uviewui.com'));
是否为空
这里指的“空”,包含如下几种情况:
- 值为
undefined
(一种类型),非字符串"undefined"
- 字符串长度为0,也即空字符串
- 值为
false
(布尔类型),非字符串"false"
- 值为数值
0
(非字符串"0"
),或者NaN
- 值为
null
,空对象{}
,或者长度为0的数组
isEmpty(value)
校验值是否为空,返回true
或者false
。
此方法等同于empty
名称,但是为了更语义化,推荐用isEmpty
名称。
value
字符串
console.log(this.$u.test.isEmpty(false));
是否普通日期
验证一个字符串是否日期,返回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
如下为错误:
2020年02月10日
、2020-02-10 25:32
总的来说,年月日之间可以用”/“或者”-“分隔(不能用中文分隔),时分秒之间用”:”分隔,数值不能超出范围,如月份不能为13,则检验成功,否则失败。
date(date)
date
日期字符串
console.log(this.$u.test.date('2020-02-10 08:32:10'));
是否十进制数值
整数,小数,负数,带千分位数(2,359.08)等可以检验通过,返回true
或者false
。
number(number)
number
数字
console.log(this.$u.test.number('2020'));
是否整数
所有字符都在0-9
之间,才校验通过,结果返回true
或者false
。
digits(number)
number
数字
console.log(this.$u.test.digits('2020'));
是否身份证号
身份证号,包括尾数为”X”的类型,可以校验通过,结果返回true
或者false
。
idCard(idCard)
idCard
身份证号
console.log(this.$u.test.idCard('110101199003070134'));
是否车牌号
可以校验旧车牌号和新能源类型车牌号,结果返回true
或者false
。
carNo(carNo)
carNo
车牌号
console.log(this.$u.test.carNo('京A88888'));
是否金额
最多两位小数,可以带千分位,结果返回true
或者false
。
amount(amount)
amount
金额字符串
console.log(this.$u.test.amount('3,233.08'));
是否汉字
可以为单个汉字,或者汉字组成的字符串,结果返回true
或者false
。
chinese(zh)
zh
中文字符串
console.log(this.$u.test.chinese('更上一层楼'));
是否字母
只能为”a-z”或者”A-Z”之间的字符,结果返回true
或者false
。
letter(en)
en
字母串
console.log(this.$u.test.letter('uView'));
是否字母或者数字
只能是字母或者数字,结果返回true
或者false
。
enOrNum(str)
str
字母或者数字字符串
console.log(this.$u.test.enOrNum('uView'));
是否包含某个值
字符串中是否包含某一个子字符串,区分大小写,结果返回true
或者false
。
contains(str, subStr)
str
字符串 subStr
子字符串
console.log(this.$u.test.contains('uView', 'View'));
数值是否在某个范围内
如30在”29-35”这个范围内,不在”25-28”这个范围内,结果返回true
或者false
。
range(number, range)
number
数值 range
如”[25-35]“
console.log(this.$u.test.range(35, [30, 34]));
字符串长度是否在某个范围内
如”abc”长度为3,范围在”2-5”这个区间,结果返回true
或者false
。
rangeLength(str, range)
str
数值 range
如”[25, 35]“
console.log(this.$u.test.rangeLength('abc', [3, 10]));