export default {
validateNumber: function validateNumber(val) {
const reg = /^\d\.([1-9]{1,2}|[0-9][1-9])$|^[1-9]\d{0,1}(\.\d{1,2}){0,1}$|^100(\.0{1,2}){0,1}$/;
return reg.test(val);
},
validdateMobile: function validdateMobile(val) {
const length = val.length;
var mobile = /^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/;
return length == 11 && mobile.test(val);
},
validPassword: function validPassword(val) {
const reg = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_]).{8,15}$/;
return reg.test(val);
},
isNum: function (num) {
return !isNaN(num);
},
isEmail: function (mail) {
return /^([a-z0-9]+[_\-\.]?)*[a-z0-9]+@([a-z0-9]+[_\-\.]?)*[a-z0-9]+\.[a-z]{2,5}$/i.test(
mail
);
},
isIdCard: function (card) {
return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(card);
},
isMobile: function (mobile) {
return /^0*1\d{10}$/.test(mobile);
},
isQQ: function (qq) {
return /^[1-9]\d{4,10}$/.test(qq);
},
isTel: function (tel) {
return /^\d{3,4}-\d{7,8}(-\d{1,6})?$/.text(tel);
},
isUrl: function (url) {
return /https?:\/\/[a-z0-9\.\-]{1,255}\.[0-9a-z\-]{1,255}/i.test(url);
},
isColor: function (color) {
return /#([\da-f]{3}){1,2}$/i.test(color);
},
isAdult: function (id, allowAge, now) {
var age = 0,
nowDate = 0;
allowAge = parseFloat(allowAge) || 18;
now = typeof now == "string" ? new Date(now) : now || new Date();
if (!this.isIdCard(id)) {
return false;
}
if (15 == id.length) {
age = "19" + id.slice(6, 6);
} else {
age = id.slice(6, 14);
}
age = ~~age;
nowDate = ~~Tydic.date.format("YYYYMMDD", now);
if (nowDate - age < allowAge * 1e4) {
return false;
}
return true;
},
isFloat: function (num, place) {
let str = "^(([1-9]\\d*)|(\\d+\\.\\d+)|0)$";
if (place) str = "^(([1-9]\\d*)|(\\d+\\.\\d{0," + place + "}))$";
let reg = new RegExp(str);
return reg.test(num);
},
isInt: function (num) {
return /^[1-9]\d*$/.test(num);
},
isChinese: function (str) {
return /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])+$/gi.test(str);
},
};
export function validateNumber(val) {
const reg = /^\d\.([1-9]{1,2}|[0-9][1-9])$|^[1-9]\d{0,1}(\.\d{1,2}){0,1}$|^100(\.0{1,2}){0,1}$/;
return reg.test(val);
}
export function validPassword(val) {
const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,21}$/;
return reg.test(val);
}
export function filterSpecial(val) {
const reg = /[\`~\!\@\#\$%\^\&\*\(\)\+<>\?:"\{\},\.\\\/;'\[\]]/;
return reg.test(val);
}
export function validContact(val) {
var reg = /(^[0-9]{3,20}$)/;
return reg.test(val);
}
export function card(val) {
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
return reg.test(val);
}
export function validNumber(val) {
var reg = /^[0-9]+\.?[0-9]*$/;
return reg.test(val);
}
export function validMoney(val) {
var reg = /^([1-9]\d{0,8}|0)(\.\d{1,2})?$/;
return reg.test(val);
}
export function validName(val) {
var reg = /^[\u4e00-\u9fa5]+(·[\u4e00-\u9fa5]+)*$/;
return reg.test(val);
}
export function validateMultipleName(val) {
var reg = /^(\w|[\u4e00-\u9fa5])+(,(\w|[\u4e00-\u9fa5])+)*$/;
return reg.test(val);
}
export function validateSocialCreditCode(val) {
var reg = /[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}/g;
return reg.test(val);
}
export function validateIdCard(val) {
var 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}$)/;
return reg.test(val);
}
export function validdateMobile(rule, value, callback) {
if (!/^1[3|4|5|7|8][0-9]{9}$/.test(value)) {
callback(new Error("请输入正确格式"));
} else {
callback()
}
}
export function valiFloatNumber(rule, value, callback) {
if (value === "") {
callback(new Error("不能为空"));
} else if (!/^([1-9]\d{0,8}|0)(\.\d{1,2})?$/.test(value)) {
callback(new Error("请输入正确格式"));
} else {
callback();
}
}
export function valiEmptyFloatNumber(rule, value, callback) {
if (value && !/^([1-9]\d{0,8}|0)(\.\d{1,2})?$/.test(value)) {
callback(new Error("请输入正确格式"));
} else {
callback();
}
}
export function valiNumber(rule, value, callback) {
if (value === "") {
callback(new Error("不能为空"));
} else if (!/^[1-9]\d*$/.test(value)) {
callback(new Error("请输入正确格式"));
} else {
callback();
}
}
export function valiFloatNumberAndEmpty(rule, value, callback) {
if (value != "" && !/^([1-9]\d{0,8}|0)(\.\d{1,2})?$/.test(value)) {
callback(new Error("请输入正确格式"));
} else {
callback();
}
}
export function returnStringNumber(str) {
if (/^([1-9]\d{0,8}|0)(\.\d{1,4})?$/.test(str)) {
return parseFloat(str);
} else {
return 0;
}
}
export function returnStringIntNumber(str) {
if (/^[1-9]\d*$/.test(str)) {
return parseInt(str);
} else {
return 0;
}
}
注:有待优化的或不正确的请大佬留言指出