# 表单校验工具
# 引用
import { Validator } from 'primeton-ui/base/index.js'
# 使用
Validator: Validator.noSpecialWord
方法 | 说明 |
---|---|
noSpecialWord | 不能包含特殊字符 |
userName | 只能含字母、数字、-、_,长度4-16 |
url | url |
ip | ip |
ipRange | ipRange |
notBlank | 不能为空! |
number | 数字! |
telNumber | 手机号格式错误! |
lowerCaseAndNumber | 含小写字母和数字 |
name | 含汉字,字母、数字、-,_ |
code | 含字母、数字、-,_ |
version | 含字母、数字、-,_,. |
zipcode | 邮编格 |
邮箱 | |
password | 含字母、数字、符号,6-20位 |
nameG | 含汉字、字母、数字,-,_ |
codeG | 含字母、数字、-,以字母开头,不能以-结尾 |
desc | 含汉字、字母、数字,符号! |
domain | 域名 |
prefix | 支持:/-,小写英文! |
parameter | 含字母、数字、-,_,/ |
className | 含字母、数字、.,_,- |
# noSpecialWord
描述\提示: 不能包含特殊字符
正则:
/[/\\\&\<\>\']/
# userName
描述\提示: 只能含字母、数字、-、_,长度4-16
正则:
/^[a-zA-Z0-9_-]{4,16}$/
# url
描述\提示: 不符合Url规范!
正则: /(http|ftp|https)😕/[\w-]+(.[\w-]+)+([\w-.,@?^=%&:/~+#]*[\w-@?^=%&/~+#])?/
# ip
描述\提示: 不符合IP规范!
正则:
/^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9/*]))$/g
# ipRange
描述\提示: 不符合IP规范!
achieve:
var errors = []
const ipReg = /^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))$/g
const ipReg2 = /^((25[0-5]\.|2[0-4]\d\.|1\d\d\.|[0-9]\d\.|[0-9]\.){1,3}(\*){1})$/g
const ipReg3 = /^((?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))\s{0,1}\-\s{0,1}(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9])))$/g
if (!value || ipReg.test(value) || ipReg2.test(value) || ipReg3.test(value)) {
callback()
} else {
callback(new Error('不符合IP规范!'))
}
# notBlank
描述\提示: 不能为空!
achieve:
!value
# number
描述\提示: 数字!
achieve:
isNaN(value)
# telNumber
描述\提示: 手机号格式错误!
正则:
/^((1[3-9][0-9])\d{8})|(0\d{2}-\d{8})|(0\d{3}-\d{7})$/
# lowerCaseAndNumber
描述\提示: 含小写字母和数字
正则:
/^[a-z0-9]+$/
# name
描述\提示: 含汉字,字母、数字、-,_
正则:
/^[a-zA-Z0-9_\u4e00-\u9fa5\-]+$/
# code
描述\提示: 含字母、数字、-,_
正则:
/^[a-zA-Z0-9_\-]+$/
# version
描述\提示:含字母、数字、-,_,.
正则:
/^[a-zA-Z0-9_.\-]+$/
# zipcode
描述\提示:邮编格式不正确
正则:
/^\d{6}$/
描述\提示:邮箱格式不正确
正则:
/^[0-9A-Za-z][\.-_0-9A-Za-z]*@[0-9A-Za-z]+(\.[0-9A-Za-z]+)+$/
# password
描述\提示:含字母、数字、符号,6-20位
正则:
/^[a-z_A-Z0-9-\.!@#\$%\\\^&\*\)\(\+=\{\}\[\]\/",'<>~\·`\?。《,》(’?】——【)!;:;|]{6,20}$/
# nameG
描述\提示:含汉字、字母、数字,-,_
正则:
/^[a-zA-Z0-9_\u4e00-\u9fa5\-]+$/
# codeG
描述\提示:含字母、数字、-,以字母开头,不能以-结尾
正则:
/^([a-zA-Z])(?!.*?-$)[a-zA-Z0-9-]*$/
# desc
描述\提示:含汉字、字母、数字,符号!
正则:
/(?![\u4e00-\u9fa5])([a-zA-Z0-9\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F.-]*)/
# domain
描述\提示:不符合域名规则!
正则:
/^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*([\?&]\w+=\w*)*$/
# prefix
描述\提示:支持:/-,小写英文!
正则:
/^[a-z:/-]*$/
# parameter
描述\提示:含字母、数字、-,_,/
正则:
/^[a-zA-Z0-9_\-\/]+$/
# className
描述\提示:含字母、数字、.,_,-
正则:
/^[a-zA-Z0-9_\-\.]+$/