cyber-web-ui
Version:
spring-cyber前端ui框架
153 lines (141 loc) • 6.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.telephoneRegExp = exports.required = exports.phoneRegExp = exports.passwordRegExp = exports.emailRegExp = exports.checkTelephone = exports.checkPort = exports.checkPhone = exports.checkPassword = exports.checkLongitude = exports.checkLatitude = exports.checkIPAddress = exports.checkEmail = exports.checkCode = exports.TRIGGER = void 0;
var TRIGGER = exports.TRIGGER = ["blur", "change"];
// 手机号码
var phoneRegExp = exports.phoneRegExp = new RegExp(/^1[3456789]\d{9}$/);
// 电话号码
var telephoneRegExp = exports.telephoneRegExp = new RegExp(/^((d{3,4})|d{3,4}-|s)?d{7,14}$/);
// 邮箱
var emailRegExp = exports.emailRegExp = new RegExp(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/);
// 密码
var passwordRegExp = exports.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:必填
var required = exports.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:手机号验证
var checkPhone = exports.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:电话号码验证
var checkTelephone = exports.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: 校验邮箱
var checkEmail = exports.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: 校验密码
var checkPassword = exports.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地址
var checkIPAddress = exports.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: 校验端口号
var checkPort = exports.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 校验经度
var checkLongitude = exports.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 校验纬度
var checkLatitude = exports.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 校验编码
var checkCode = exports.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
};
};