frontend/src/tools/validate.js

161 lines
3.6 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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