写在前面:
上一篇教大家写了如何封装全局校验js,使得校验函数可以全局复用,本文将分享几个常用的校验函数
1.手机号验证
/**
* mobile 传入手机号/座机号
* @param {String} mobile
* @returns {boolean}
*/
checkPhone(mobile) {
var tel = /^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/;
var phone = /^(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7(?:[0-35-9]\d{2}|4(?:0\d|1[0-2]|9\d))|9[0-35-9]\d{2}|6[2567]\d{2}|4(?:(?:10|4[01])\d{3}|[68]\d{4}|[579]\d{2}))\d{6}$/;
// 校验手机号
if (phone.test(mobile)) {
console.log(mobile);
return true;
}
// 校验座机号
if (tel.test(mobile)) {
console.log(mobile);
return true;
}
return false
},
2.校验字符串长度
/**
*
* @param {
* obj {
* str: String | 要校验的字符串
* minNum: number | 最小长度,默认为0
* maxNum: number | 最长长度
* removeSpace: boolean | 是否去除首尾空格,默认去除
* }
* }
* @returns {boolean}
*/
checkStringLength(obj) {
var {
str,
minNum = 0,
maxNum,
removeSpace = true
} = obj
if (removeSpace) {
if (str.trim().length >= minNum) {
if (maxNum || maxNum === 0) {
return str.trim().length <= maxNum
}
return true
}
return false
} else {
if (str.length >= minNum) {
if (maxNum || maxNum === 0) {
return str.length <= maxNum
}
return true
}
return false
}
},
3.验证字符串是否包含小写字母
/**
* 验证字符串是否包含小写字母
* @param {string} str
* @returns {Boolean}
*/
validLowerCase(str) {
const reg = /^[a-z]+$/
return reg.test(str)
},
4.验证字符串是否包含大写字母
/**
* 验证字符串是否包含大写字母
* @param {string} str
* @returns {Boolean}
*/
validUpperCase(str) {
const reg = /^[A-Z]+$/
return reg.test(str)
},
5.验证字符串是否包含字符
/**
* 验证字符串是否包含字符
* @param {string} str
* @returns {Boolean}
*/
validAlphabets(str) {
const reg = /^[A-Za-z]+$/
return reg.test(str)
},
6.验证邮箱
/**
* 验证邮箱
* @param {string} email
* @returns {Boolean}
*/
validEmail(email) {
const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
return reg.test(email)
},
7.验证str是否是字符串
/**
* 验证str是否是字符串
* @param {string} str
* @returns {Boolean}
*/
isString(str) {
if (typeof str === 'string' || str instanceof String) {
return true
}
return false
},
8.验证身份证号码
/**
* 校验身份证号码
* @param {string} idCard 身份证号码
* @returns {boolean} 校验结果
*/
checkIdCard(idCard) {
// console.log('开始校验辣')
const reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/;
return reg.test(idCard);
}
}