UNPKG

cyber-web-ui

Version:
147 lines (136 loc) 5.9 kB
export var TRIGGER = ["blur", "change"]; // 手机号码 export var phoneRegExp = new RegExp(/^1[3456789]\d{9}$/); // 电话号码 export var telephoneRegExp = new RegExp(/^((d{3,4})|d{3,4}-|s)?d{7,14}$/); // 邮箱 export var emailRegExp = new RegExp(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/); // 密码 export var passwordRegExp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{5,32}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[~·!@#$%^&*()_+`'"\-={}\[\]:;<>?,./\\]).{5,32}$|^(?=.*[a-z])(?=.*[0-9])(?=.*[~·!@#$%^&*()_+`'"\-={}\[\]:;<>?,./\\]).{5,32}$|^(?=.*[A-Z])(?=.*[0-9])(?=.*[~·!@#$%^&*()_+`'"\-={}\[\]:;<>?,./\\]).{5,32}$/; // required:必填 export var required = function required() { var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '必填'; var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRIGGER; return { required: true, message: message, trigger: trigger }; }; // phoneNumberFun:手机号验证 export var checkPhone = function checkPhone() { var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '请输入正确的手机号码'; var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRIGGER; return { validator: function validator(rule, value) { if (!value || phoneRegExp.test(value)) return Promise.resolve(); return Promise.reject(message); }, trigger: trigger }; }; // checkTelephone:电话号码验证 export var checkTelephone = function checkTelephone() { var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '请输入正确的电话号码'; var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRIGGER; return { validator: function validator(rule, value) { if (!value || telephoneRegExp.test(value)) return Promise.resolve(); return Promise.reject(message); }, trigger: trigger }; }; // checkEmidal: 校验邮箱 export var checkEmail = function checkEmail() { var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '请输入正确的邮箱地址'; var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRIGGER; return { validator: function validator(rule, value) { if (!value || emailRegExp.test(value)) return Promise.resolve(); return Promise.reject(message); }, trigger: trigger }; }; // checkPassword: 校验密码 export var checkPassword = function checkPassword(checkValue) { return { validator: function validator(rule, value) { if (!value) return Promise.resolve(); if (value.length > 20) { return Promise.reject('密码的长度为5 ~ 20位'); } else if (!passwordRegExp.test(value)) { return Promise.reject('密码长度 ≥ 5位,且至少要包含大小字母、数字与符号中的三种'); } else if (checkValue && checkValue != value) { return Promise.reject('请输入一致的密码'); } return Promise.resolve(); }, trigger: TRIGGER }; }; // checkIPAddress: 校验ip地址 export var checkIPAddress = function checkIPAddress() { var trigger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : TRIGGER; return { validator: function validator(rule, value) { if (!value) return Promise.resolve(); var list = value.split(".").map(function (item) { return Number(item); }); if (list.some(function (item) { return isNaN(item); })) return Promise.reject('ip地址只能为数字');else if (list.some(function (item) { return item < 0 || item > 255; })) return Promise.reject('ip地址取值范围为0 ~ 255');else if (list.length != 4) return Promise.reject('请输入正确的ip地址');else return Promise.resolve(); }, trigger: trigger }; }; // checkPort: 校验端口号 export var checkPort = function checkPort(message) { var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRIGGER; return { validator: function validator(rule, value) { if (!value || /^[0-9]+$/.test(value) || parseInt(value) >= 65535) return Promise.resolve(); return Promise.reject(message || '端口号的取值范围为:0 ~ 65535'); }, trigger: trigger }; }; // checkLongitude 校验经度 export var checkLongitude = function checkLongitude(message) { var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRIGGER; return { validator: function validator(rule, value) { if (!value || /^-?[0-9]+(\.[0-9]+)?$/.test(value) && value >= -180 && value <= 180) return Promise.resolve(); return Promise.reject(message || '经度的取值范围为:-180 ~ 180'); }, trigger: trigger }; }; // checkLatitude 校验纬度 export var checkLatitude = function checkLatitude(message) { var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRIGGER; return { validator: function validator(rule, value) { if (!value || /^-?[0-9]+(\.[0-9]+)?$/.test(value) && value >= -90 && value <= 90) return Promise.resolve(); return Promise.reject(message || '纬度的取值范围为:-90 ~ 90'); }, trigger: trigger }; }; // checkCode 校验编码 export var checkCode = function checkCode(message) { var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRIGGER; return { validator: function validator(rule, value) { if (!value) return Promise.resolve(); if (/^\s|\s$/.test(value)) return Promise.reject('字符首尾不能有空格!'); if (/^[A-Za-z0-9_-\s]+$/.test(value)) return Promise.resolve(); return Promise.reject(message || '请输入大小写字母、数字、空格、下划线和横线'); }, trigger: trigger }; };