邮箱
export function isEmail(s) {
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}
手机号码
export function isMobile(s) {
return /^1[0-9]{10}$/.test(s)
}
电话号码
export function isPhone(s) {
return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}
URL地址
export function isURL(s) {
return /^http[s]?:\/\/.*/.test(s)
}
经度(中国境内:73~136)小数点最多 6 位
export function isLongitude(s) {
return /^(7[3-9]|[8-9]\d{1}|1[0-2]\d{1}|13[0-6])(\.\d{0,6})$/.test(s)
}
纬度(中国境内:3~54)小数点最多 6 位
export function isLatitude(s) {
return /^([3-9]|[1-4]\d{1}|5[0-4])(\.\d{0,6})$/.test(s)
}
身份证号码格式
export function validateIdentifyCode(rule, value, callback) {
if (value == '' || value == null) {
callback()
} else if (!isIdentifyCode(value)) {
callback(new Error('身份证号码格式错误'))
} else {
callback()
}
}
export function isIdentifyCode(s) {
return /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(s)
}
后面再补充
/**
* 邮箱
* @param {*} s
*/
export function isEmail(s) {
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}
/**
* 0-999数值校验
* @param {*} s
*/
export function isUserNum(s) {
return /^[1-9][0-9]{0,2}$/.test(s)
}
/**
* 手机号码
* @param {*} s
*/
export function isMobile(s) {
return /^1[0-9]{10}$/.test(s)
}
/**
* 电话号码
* @param {*} s
*/
export function isPhone(s) {
return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}
/**
* URL地址
* @param {*} s
*/
export function isURL(s) {
return /^http[s]?:\/\/.*/.test(s)
}
/**
* @description 经度(中国境内:73~136)小数点最多 6 位
*/
export function isLongitude(s) {
return /^(7[3-9]|[8-9]\d{1}|1[0-2]\d{1}|13[0-6])(\.\d{0,6})$/.test(s)
}
/**
* @description 纬度(中国境内:3~54)小数点最多 6 位
*/
export function isLatitude(s) {
return /^([3-9]|[1-4]\d{1}|5[0-4])(\.\d{0,6})$/.test(s)
}
export function isIdentifyCode(s) {
return /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(s)
}
export function validateUserNum(rule, value, callback) {
if (value == '' || value == null) {
callback()
} else if (!isUserNum(value)) {
callback(new Error('人数在0-999范围内'))
} else {
callback()
}
}
/**
* valid phone in form
* @param rule
* @param value
* @param callback function()
*/
export function validatePhone(rule, value, callback) {
if (value == '' || value == null) {
callback()
} else if (!isMobile(value)) {
callback(new Error('手机号码格式错误'))
} else {
callback()
}
}
// 联系电话校验(手机号 / 固定电话)
export function validateContactPhone(rule, value, callback) {
if (value == '' || value == null) {
callback()
} else if (!isMobile(value) && !isPhone(value)) {
callback(new Error('联系电话格式错误'))
} else {
callback()
}
}
export function validateIdentifyCode(rule, value, callback) {
if (value == '' || value == null) {
callback()
} else if (!isIdentifyCode(value)) {
callback(new Error('身份证号码格式错误'))
} else {
callback()
}
}
//身份证验证
export function identityNoVali(rule, sId, callback) {
if (sId == '' || sId == null) {
callback()
}
var iSum = 0
var sBirthday
var aCity = {
11: '北京',
12: '天津',
13: '河北',
14: '山西',
15: '内蒙古',
21: '辽宁',
22: '吉林',
23: '黑龙江',
31: '上海',
32: '江苏',
33: '浙江',
34: '安徽',
35: '福建',
36: '江西',
37: '山东',
41: '河南',
42: '湖北',
43: '湖南',
44: '广东',
45: '广西',
46: '海南',
50: '重庆',
51: '四川',
52: '贵州',
53: '云南',
54: '西藏',
61: '陕西',
62: '甘肃',
63: '青海',
64: '宁夏',
65: '新疆',
71: '台湾',
81: '香港',
82: '澳门',
91: '国外 '
}
if (!/^\d{17}(\d|x)$/i.test(sId)) {
callback(new Error('你输入的身份证长度或格式错误'))
}
sId = sId.replace(/x$/i, 'a')
if (aCity[parseInt(sId.substr(0, 2))] == null) {
callback(new Error('你的身份证地区非法'))
}
sBirthday = sId.substr(6, 4) + '-' + Number(sId.substr(10, 2)) + '-' + Number(sId.substr(12, 2))
var d = new Date(sBirthday.replace(/-/g, '/'))
if (sBirthday != d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate()) {
callback(new Error('身份证上的出生日期非法'))
}
for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11)
if (iSum % 11 != 1) {
callback(new Error('你输入的身份证号非法'))
} else {
callback()
}
}
/**
* @description 校验经度
*/
export function validateLongitude(rule, value, callback) {
if (value == '' || value == null) {
callback()
} else if (!isLongitude(value)) {
callback(new Error('经度不合规则(73~136 小数点最多6位)'))
} else {
callback()
}
}
/**
* @description 校验纬度
*/
export function validateLatitude(rule, value, callback) {
if (value == '' || value == null) {
callback()
} else if (!isLatitude(value)) {
callback(new Error('纬度不合规则(3~54 小数点最多6位)'))
} else {
callback()
}
}
/**
* @description 三位数两位小数
*/
export function validateDecimal3(rule, value, callback) {
if (!/(^[0-9]{1,3}$)|(^[0-9]{1,3}[\.]{1}[0-9]{1,2}$)/.test(value)) {
callback(new Error('最大值不能超过3位,小数点2位'))
} else {
callback()
}
}
/**
* @description 五位数两位小数
*/
export function validateDecimal5(rule, value, callback) {
if (!/(^[0-9]{1,5}$)|(^[0-9]{1,5}[\.]{1}[0-9]{1,2}$)/.test(value)) {
callback(new Error('最大值不能超过5位,小数点2位'))
} else {
callback()
}
}