UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

264 lines (248 loc) 5.67 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; exports.__esModule = true; exports.VaeStringSchema = void 0; var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _utils = require("../utils"); var _VaeLocale = require("./VaeLocale"); var _VaeSchema2 = require("./VaeSchema"); var VaeStringSchema = exports.VaeStringSchema = /*#__PURE__*/function (_VaeSchema) { (0, _inheritsLoose2.default)(VaeStringSchema, _VaeSchema); function VaeStringSchema(message) { var _this; if (message === void 0) { message = _VaeLocale.VaeLocale.string.type; } _this = _VaeSchema.call(this, { type: 'string' }) || this; _this.transform(function (v) { return typeof v === 'number' ? String(v) : v; }).check({ fn: _utils.isString, message: message }); return _this; } /** * 最小长度 */ var _proto = VaeStringSchema.prototype; _proto.min = function min(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.min; } return this.check({ fn: function fn(v) { return v.length >= value; }, message: message, messageParams: { min: value }, tag: 'min' }); } /** * 最大长度 */; _proto.max = function max(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.max; } return this.check({ fn: function fn(v) { return v.length <= value; }, message: message, messageParams: { max: value }, tag: 'max' }); } /** * 固定长度 */; _proto.length = function length(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.length; } return this.check({ fn: function fn(v) { return v.length === value; }, message: message, messageParams: { length: value }, tag: 'length' }); } /** * 邮箱地址 */; _proto.email = function email(message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.email; } return this.check({ fn: _utils.isEmail, message: message, tag: 'email' }); } /** * 链接 */; _proto.url = function url(message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.url; } return this.check({ fn: _utils.isUrl, message: message, tag: 'url' }); } /** * 正则 */; _proto.regex = function regex(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.regex; } return this.check({ fn: function fn(v) { value.lastIndex = 0; return value.test(v); }, message: message, messageParams: { regex: value }, tag: 'regex' }); } /** * 包含 */; _proto.includes = function includes(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.includes; } return this.check({ fn: function fn(v) { return (0, _utils.includes)(v, value); }, message: message, messageParams: { includes: value }, tag: 'includes' }); } /** * 前缀 */; _proto.startsWith = function startsWith(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.startsWith; } return this.check({ fn: function fn(v) { return (0, _utils.startsWith)(v, value); }, message: message, messageParams: { startsWith: value }, tag: 'startsWith' }); } /** * 后缀 */; _proto.endsWith = function endsWith(value, message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.endsWith; } return this.check({ fn: function fn(v) { return (0, _utils.endsWith)(v, value); }, message: message, messageParams: { endsWith: value }, tag: 'endsWith' }); } /** * 手机号码 */; _proto.phoneNumber = function phoneNumber(message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.phoneNumber; } return this.check({ fn: _utils.isPossibleChineseMobilePhoneNumber, message: message, tag: 'phoneNumber' }); } /** * 身份证号码 */; _proto.idCardNumber = function idCardNumber(message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.idCardNumber; } return this.check({ fn: _utils.isChineseIDCardNumber, message: message, tag: 'idCardNumber' }); } /** * cuid */; _proto.cuid = function cuid(message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.cuid; } return this.check({ fn: _utils.isCuid, message: message, tag: 'cuid' }); } /** * cuid2 */; _proto.cuid2 = function cuid2(message) { if (message === void 0) { message = _VaeLocale.VaeLocale.string.cuid2; } return this.check({ fn: _utils.isCuid2, message: message, tag: 'cuid2' }); } /** * 去除两侧空字符串 */; _proto.trim = function trim() { this._options.stringTrim = true; return this; } /** * 当设置了必填时,将空字符串视为已填 */; _proto.emptyable = function emptyable() { this._options.stringEmptyable = true; return this; }; return VaeStringSchema; }(_VaeSchema2.VaeSchema);