//URL地址
export function URL(val) {
let reg = /^http[s]?:\/\/.*/
return reg.test(val)
}
//手机号码
export function phone(val) {
let reg = /^1[3|4|5|6|7|8|9][0-9]{9}$/
return reg.test(val)
}
//座机
export function tel(val) {
let reg = /^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/
return reg.test(val)
}
//身份证
export function card(val) {
// let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
// let reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/;
// 只校验18的身份证
let reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/
return reg.test(val)
}
//密码以字母开头,长度在6~18之间,只能包含字母、数字和下划线
export function pwd(val) {
let reg = /^[a-zA-Z]\w{5,17}$/
return reg.test(val)
}
//邮政编码
export function postal(val) {
let reg = /[1-9]\d{5}(?!\d)/
return reg.test(val)
}
//QQ号
export function QQ(val) {
let reg = /^[1-9][0-9]{4,9}$/
return reg.test(val)
}
//邮箱
export function email(val) {
let reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/
return reg.test(val)
}
//金额(小数点2位)
export function money(val) {
let reg = /^\d*(?:\.\d{0,2})?$/
return reg.test(val)
}
//网址
export function URLS(val) {
let reg = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/
return reg.test(val)
}
//IP
export function IP(val) {
let reg = /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/
return reg.test(val)
}
//日期时间
export function times(val) {
let reg =
/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/.test(
val
) || /^(\d{4})\-(\d{2})\-(\d{2})$/
return reg.test(val)
}
//数字
export function number(val) {
// let reg = /^[0-9]$/;
let reg = /^([0-9])*$/
return reg.test(val)
}
//英文
export function english(val) {
let reg = /^[a-zA-Z]+$/
return reg.test(val)
}
//中文
export function chinese(val) {
let reg = /^[\u4E00-\u9FA5]/g
return reg.test(val)
}
//小写
export function lower(val) {
let reg = /^[a-z]+$/
return reg.test(val)
}
//小写英文+反斜杠 / 校验
export function lowerbackslash(val) {
let reg = /^[a-z\/]+$/
return reg.test(val)
}
//英文+反斜杠 / 校验
export function enbackslash(val) {
let reg = /^[a-zA-Z\/-]+$/
return reg.test(val)
}
//常用特殊字符校验(可输入常用标点符号)
export function commonSpecial(val) {
let pattern = new RegExp(
'[`~%@#$^&*()=|{}\\[\\].<>/?~@#¥……&*()——|{}【】]'
)
return !pattern.test(val)
}
//特殊字符校验
export function special(val) {
let pattern = new RegExp(
"[`~!%@#$^&*()=|{}':;',\\[\\].<>《》/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"
)
return !pattern.test(val)
}
//特殊字符校验
export function specialrep(val) {
let pattern = new RegExp(
"[`~!%@#$^&*=|{}':;',\\[\\].<>《》/?~!@#¥……&*|{}【】‘;:”“'。,?]"
)
return !pattern.test(val)
}
//特殊字符校验允许输入冒号
export function thecolon(val) {
let pattern = new RegExp(
"[`~!%@#$^&*()=|{}';',\\[\\].<>《》/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"
)
return !pattern.test(val)
}
//特殊字符校验允许输入冒号大括号
export function curlybraces(val) {
let pattern = new RegExp(
"[`~!%@#$^&*()=|';',\\[\\].<>《》/?~!@#¥……&*()——|【】‘;:”“'。,、?]"
)
return !pattern.test(val)
}
//大写
export function upper(val) {
let reg = /^[A-Z]+$/
return reg.test(val)
}
//HTML标记
export function HTML(val) {
let reg = /<("[^"]*"|'[^']*'|[^'">])*>/
return reg.test(val)
}
// 银行卡规则
export function bankCardRule(value) {
let reg = /^([1-9]{1})(\d{14}|\d{15}|\d{18})$/
return reg.test(value)
}
//经度
export function checkLong(value) {
let longrg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/
return longrg.test(value)
}
//纬度
export function checkLat(value) {
let latreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/
return latreg.test(value)
}
//比对日期 传入开始时间和结束时间
export function timeComparison(beginTime, endTime) {
let begin = new Date(beginTime).valueOf(),
end = new Date(endTime).valueOf()
if (begin > end) {
return false
} else {
return true
}
}
//比对日期(有当前) 传入开始时间和结束时间
export function timeDateComparison(beginTime, endTime) {
let begin = new Date(beginTime).valueOf(),
end = new Date(endTime).valueOf(),
date = new Date()
if (begin < date && end > date) {
return true
} else {
return false
}
}
//比对日期(没有当前) 传入开始时间和结束时间
export function timeDateComparisonSingle(beginTime, endTime) {
let begin = new Date(beginTime).valueOf(),
end = new Date(endTime).valueOf()
if (begin < end) {
return true
} else {
return false
}
}
//比对大小
export function comparison(min, max) {
if (min > max) {
return false
} else {
return true
}
}
//空格校验
export function spaceValidate(value) {
let reg = /\s/
return !reg.test(value)
}
//车牌号校验
export function carNumberValidate(value) {
let reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/
return reg.test(value)
}
// 传真号码校验
export function fax(value) {
let reg = /^(?:\d{3,4}-)?\d{7,8}(?:-\d{1,6})?$/
return reg.test(value)
}
//长度校验 (c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)
export function wordLength(str) {
let len = 0
if (str && str.length > 0) {
for (let i = 0; i < str.length; i++) {
let a = str.charCodeAt(i)
// if(a.match(/[^\x00-\xff]/ig != null)) {
if ((a >= 0x0001 && a <= 0x007e) || (0xff60 <= a && a <= 0xff9f)) {
//汉字
len++
} else {
len += 3
}
}
}
console.log(len)
return len
}
//查找某个字符串中汉字的数量
export function ChineseLength(str) {
let len = 0
for (let i = 0; i < str.length; i++) {
let a = str.charCodeAt(i)
// if(a.match(/[^\x00-\xff]/ig != null)) {
if ((a >= 0x0001 && a <= 0x007e) || (0xff60 <= a && a <= 0xff9f)) {
//汉字
} else {
len++
}
}
return len
}
// 数组输入内容校验
export function validator(obj, key, text) {
// obj数组参数 key校验的关键字 text提示文本
console.log(obj, key, text)
let state = ''
try {
obj.forEach((item, index) => {
if (!/\s/.test(item[key]) == false) {
window.ELEMENT.Message({
message: text + '第' + (index + 1) + '条不可输入空格!',
type: 'error',
})
throw Error()
// return false
} else if (!NubCheck(item[key])) {
window.ELEMENT.Message({
message: text + '第' + (index + 1) + '条请输入有效的数字!',
type: 'error',
})
throw Error()
// return false
} else if (!Decimal(item[key])) {
window.ELEMENT.Message({
message: text + '第' + (index + 1) + '条只能输入两位小数!',
type: 'error',
})
throw Error()
// return false
} else {
state = true
}
})
} catch (err) {}
if (state === true) {
return true
}
}
// 电量数组输入内容校验
export function elecQuantityValidator(obj, key, text) {
// obj数组参数 key校验的关键字 text提示文本
let state = ''
try {
obj.forEach((item, index) => {
if (!/\s/.test(item[key]) == false) {
window.ELEMENT.Message({
message: text + '第' + (index + 1) + '条不可输入空格!',
type: 'error',
})
throw Error()
// return false
} else if (!NubCheck(item[key])) {
window.ELEMENT.Message({
message: text + '第' + (index + 1) + '条请输入有效的数字!',
type: 'error',
})
throw Error()
// return false
} else if (!FalseDecimal(item[key])) {
window.ELEMENT.Message({
message: text + '第' + (index + 1) + '条不可输入小数!',
type: 'error',
})
throw Error()
// return false
} else {
state = true
}
})
} catch (err) {}
if (state === true) {
return true
}
}
// 判断是否为小数
export function FalseDecimal(val) {
let reg = /^(\-?)\d+$/
return reg.test(val)
}
// 判断是否为2位小数
export function Decimal(val) {
let reg = /(^([+-]?)[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^([+-]?)(0){1}$)|(^([+-]?)[0-9]\.[0-9]([0-9])?$)/
return reg.test(val)
}
// 判断是否为正整数、负数、小数
export function NubCheck(val) {
let reg = /^(\-|\+)?\d+(\.\d+)?$/
return reg.test(val)
}
//数字和字母
export function numberEnglish(val) {
let reg = /^([A-Za-z0-9])*$/
return reg.test(val)
}
// 判断是否含有表情符号
export function checkEmoji(val) {
let pattern = new RegExp(
'[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]'
)
return pattern.test(val)
}
// 判断输入值是否为null
export function checkNull(val) {
let _val = val.trim().toLowerCase()
if (_val == 'null') {
return true
} else {
return false
}
}
还没有评论,来说两句吧...