UNPKG

abbott-methods

Version:

abbott,methods,method,functions,function

34 lines (33 loc) 1.22 kB
import { formatUsername } from '../format/formatUsername' import { typeEmpty } from '../type/typeEmpty' /** * @desc 验证是否用户名格式 * @param {boolean} required * @param {String} validateValue * @param {*} callback * @param {String} field * @param {String} [action] * @param {Number} [min] * @param {Number} [max] */ export const vUsername = (required: boolean, validateValue: string, callback: any, field: string = '用户名', action: string = '填写', min?: number, max?: number): void => { if (!required && !validateValue) { callback() } else { if (typeEmpty(validateValue)) { action = action || '填写' callback(new Error(`${field}必须${action}`)) } else { if (formatUsername(validateValue)) { if (min && max && (validateValue.length < ~~Math.abs(min) || validateValue.length > ~~Math.abs(max))) { const howMany = min === max ? String(max) : min + '-' + max callback(new Error(`${field}的长度为${howMany}个字符`)) } else { callback() } } else { callback(new Error(`${field}必须是以字母为开头,由字母、数字、减号、点、下划线组成`)) } } } }