type 类型判断
判断字符串是否符合某种类型
1 | function checkStr(str, type) { |
是否电子邮箱格式
1 | function email(value) { |
是否手机格式
1 | function mobile(value) { |
是否 URL 格式
1 | export const url = (v) => /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/.test(v); |
是否解析 url 参数
1 | export const parseUrl = (v) => /([^?=&]+)=([^?=&]+)/g.test(v); |
是否 MAC 地址正则
1 | export const mac = (v) => /^([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})$/.test(v); |
是否日期格式
1 | function date(value) { |
是否 ISO 类型的日期格式
1 | function dateISO(value) { |
是否整数
1 | export const digits = (v) => /^\d+$/.test(v); |
是否整数–带负数
1 | export const integer = (v) => /^-?[1-9]\d+$/.test(v); |
是否身份证号码
1 | function idCard(value) { |
是否车牌号
1 | export const carNo = (v) => |
是否金额,只允许 2 位小数
1 | export const amount = (v) => /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(v); |
是否中文
1 | export const chinese = (v) => /^[\u4e00-\u9fa5]+$/gi.test(v); |
是否 json 字符串
1 | function jsonString(value) { |
判断是否为空
1 | function empty(value) { |
是否固定电话
1 | function landline(value) { |
如果 value 小于 min,取 min;如果 value 大于 max,取 max
1 | /** |
验证一个值的范围[min, max]
1 | export const range = (v, p) => v >= p[0] && v <= p[1]; |
验证一个长度的范围[min, max]
1 | export const rangeLength = (v, p) => v.length >= p[0] && v.length <= p[1]; |
是否包含某个值
1 | export const contains = (value, param) => value.indexOf(param) >= 0; |
是否是纯空格
1 | export const space = (v) => v.replace(/[, ]/g, "") === ""; |
是否字符串
1 | export const string = (v) => typeof v === "string"; |
是否字母
1 | export const letter = (v) => /^[a-zA-Z]*$/.test(v); |
是否数字
1 | export const number = (v) => Object.prototype.toString.call(v).slice(8, -1) === "Number"; |
是否字母或者数字
1 | export const enOrNum = (v) => /^[0-9a-zA-Z]*$/g.test(v); |
是否 boolean
1 | export const boolean = (o) => Object.prototype.toString.call(o).slice(8, -1) === "Boolean"; |
是否函数
1 | export const func = (o) => Object.prototype.toString.call(o).slice(8, -1) === "Function"; |
是否为 null
1 | export const isNull = (v) => Object.prototype.toString.call(o).slice(8, -1) === "Null"; |
是否 undefined
1 | export const isUndefined = (v) => Object.prototype.toString.call(o).slice(8, -1) === "Undefined"; |
是否对象
1 | export const object = (v) => Object.prototype.toString.call(v) === "[object Object]"; |
是否数组
1 | export const array = (v) => Object.prototype.toString.call(v).slice(8, -1) === "Array"; |
1 | function array(v) { |
是否时间
1 | export const isDate = (o) => Object.prototype.toString.call(o).slice(8, -1) === "Date"; |
是否短信验证码
1 | export const code = (value, len = 6) => new RegExp(`^\\d{${len}}$`).test(value); |
是否正则
1 | export const regExp = (o) => Object.prototype.toString.call(o).slice(8, -1) === "RegExp"; |
是否错误对象
1 | export const error = (o) => Object.prototype.toString.call(o).slice(8, -1) === "Error"; |
是否 Symbol 函数
1 | export const symbol = (o) => Object.prototype.toString.call(o).slice(8, -1) === "Symbol"; |
是否 Promise 对象
1 | export const promise = (o) => Object.prototype.toString.call(o).slice(8, -1) === "Promise"; |
是否 Set 对象
1 | export const isSet = (o) => Object.prototype.toString.call(o).slice(8, -1) === "Set"; |
是否 true 或 false
1 | export const isFalse = (o) => |
是否 emoji
1 | export function emoji(str) { |
是否图片格式
1 | export function image(value) { |
是否视频格式
1 | export function video(value) { |
判断是否包含特殊字符串
1 | export function RegExpString(str) { |
判断密码
1 | // 密码8-32位 |
校验图片格式
1 | export function verifySuffix(fileName, imageFormat) { |
是否 iOS
1 | export const isIos = () => navigator.userAgent.indexOf("iPhone") > -1; |
是否 PC
1 | function isPC() { |
浏览器类型
1 | function browserType() { |