frontend/src/tools/validate.js

161 lines
3.6 KiB
JavaScript
Raw Normal View History

/* 验证用户名 */
export function isUsername(str) {
if (!str) {
2024-01-27 15:02:11 +08:00
return false
}
2024-01-27 15:02:11 +08:00
const reg = /^[a-zA-Z0-9_]{1,20}$/
return reg.test(str)
}
// 是否邮箱
export function isEmail(str) {
2024-01-27 15:02:11 +08:00
return /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(str)
}
// 数字+英文
export function isOrderNumber(str) {
2024-01-27 15:02:11 +08:00
return /^[A-Za-z0-9]+$/.test(str)
}
// 数字+英文+中文 不包括下划线等符号
export function isNumChaEng(str) {
2024-01-27 15:02:11 +08:00
return /^[\u4E00-\u9FA5A-Za-z0-9]+$/.test(str)
}
// 是否数字
export function isNumber(str) {
2024-01-27 15:02:11 +08:00
return /^[0-9]*$/.test(str)
}
// 是否昵称(2-12位支持中文数字特殊字符)
export function isNickName(str) {
2024-01-27 15:02:11 +08:00
return /^[A-Za-z\u4E00-\u9FA50-9_+&@#\/%?=~_|!:,.;]{2,12}$/.test(str)
}
// 是否权限角色名称(1-20中文+英文)
export function isRoleName(str) {
2024-01-27 15:02:11 +08:00
return /^(?!_)[A-Za-z\u4e00-\u9fa50-9_]{1,20}$/.test(str)
}
2024-01-27 15:02:11 +08:00
// 权限角色描述(限定1-100不限输入类型)
export function isRoleDes(str) {
2024-01-27 15:02:11 +08:00
return /^[A-Za-z\u4E00-\u9FA50-9_+&@#\/%?=~_|!:,.;]{1,100}$/.test(str)
}
2024-01-27 15:02:11 +08:00
// 是否真实姓名(2-12中文+英文)
export function isRealName(str) {
2024-01-27 15:02:11 +08:00
return /^(?!_)[A-Za-z\u4e00-\u9fa5]{2,12}$/.test(str)
}
// 是否密码
export function isPassword(str) {
2024-01-27 15:02:11 +08:00
return /^[\@A-Za-z|0-9_\!\#\$\%\^\&\*\.\~]{6,22}$/.test(str)
}
// 是否ip地址
export function isIpAddress(str) {
2024-01-27 15:02:11 +08:00
return /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/.test(str)
}
// 1-4个中文字符
export function isMagicName(str) {
2024-01-27 15:02:11 +08:00
return /^[\u4E00-\u9FA5]{1,4}$/.test(str)
}
2024-01-27 15:02:11 +08:00
// 1-5个中文字符
export function isMagicName5(str) {
2024-01-27 15:02:11 +08:00
return /^[\u4E00-\u9FA5]{1,5}$/.test(str)
}
2024-01-27 15:02:11 +08:00
// 是否是姓名
export function isName(str) {
2024-01-27 15:02:11 +08:00
return /^(?!_)[A-Za-z0-9_\u4e00-\u9fa5]+$/.test(str)
}
// 是否是包名 1-20(中英文)
export function isName20(str) {
2024-01-27 15:02:11 +08:00
return /^(?!_)[A-Za-z0-9_\u4e00-\u9fa5]{1,20}$/.test(str)
}
// 是否 1-64(中英文)
export function isName64(str) {
2024-01-27 15:02:11 +08:00
return /^(?!_)[A-Za-z0-9_\u4e00-\u9fa5]{1,64}$/.test(str)
}
// 是否正数
export function isPosNumber(str) {
2024-01-27 15:02:11 +08:00
return /^\d+(\.\d{1,2})?$/.test(str)
}
// 是否正整数
export function isPosIntNumber(str) {
2024-01-27 15:02:11 +08:00
return /^[0-9]d*$/.test(str)
}
// 是否百分比小数
export function isPerNumber(str) {
2024-01-27 15:02:11 +08:00
return /^(100(\.[0]{1,3})?|\d{1,2}(.\d{1,2})?)$/.test(str)
}
// 是否4位小数
export function isFourNumber(str) {
2024-01-27 15:02:11 +08:00
return /^0(.\d{1,4})?$/.test(str)
}
// 是否中文
export function isChinese(str) {
2024-01-27 15:02:11 +08:00
return /^[\u4e00-\u9fa5]{0,200}$/.test(str)
}
// 是否1-32个字符
export function isStringNull(str) {
2024-01-27 15:02:11 +08:00
return /^.{1,32}$/.test(str)
}
/* 合法uri */
export function validateURL(textval) {
2024-01-27 15:02:11 +08:00
const urlregex = /(https?|ftp|file):\/\/[-A-Za-z0-9+&@#\/%?=~_|!:,.;]+[-A-Za-z0-9+&@#\/%=~_|]/
return urlregex.test(textval)
}
/* 小写字母 */
export function validateLowerCase(str) {
2024-01-27 15:02:11 +08:00
const reg = /^[a-z]+$/
return reg.test(str)
}
/* 大写字母 */
export function validateUpperCase(str) {
2024-01-27 15:02:11 +08:00
const reg = /^[A-Z]+$/
return reg.test(str)
}
/* 大小写字母 */
export function validatAlphabets(str) {
2024-01-27 15:02:11 +08:00
const reg = /^[A-Za-z]+$/
return reg.test(str)
}
/* 是否百分比 */
export function isPercent(str) {
2024-01-27 15:02:11 +08:00
const reg = /^(100|\d{1,2})$/
return reg.test(str)
}
/* 是否是中国电话号码 */
export function isPhone(str) {
2024-01-27 15:02:11 +08:00
const reg = /^((1[3,5,8][0-9])|(14[5,7])|(17[0,6,7,8])|(19[7]))\d{8}$/
return reg.test(str)
}
/* 验证金额 2位小数点20.00 */
export function isAmount(str) {
2024-01-27 15:02:11 +08:00
const reg = /^[0-9][0-9]*([.][0-9]{1,2})?$/
return reg.test(str)
}
2024-01-27 15:02:11 +08:00
// 只能输入英文
export function isEng(str) {
2024-01-27 15:02:11 +08:00
return /^[a-zA-Z]+$/.test(str)
}