UNPKG

cyber-web-ui

Version:
153 lines (141 loc) 6.55 kB
"use strict"; 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 }; };