validme
Version:
A comprehensive validation library for various data types.
3 lines (2 loc) • 2.68 kB
JavaScript
const s=t=>t!=null&&t!=="",d=(t,n)=>t?.length>=n,p=(t,n)=>t?.length<=n,c=(t,n)=>t?.length===n,i=(t,n)=>n.test(t),l=t=>i(t,/^[\w-\.]+@[\w-]+\.[a-z]{2,}$/i),g=t=>i(t,/^(https?:\/\/)?[\w.-]+(?:\.[\w.-]+)+[\w\-._~:/?#[\]@!$&'()*+,;=.]+$/),x=t=>i(t,/^[a-zA-Z]+$/),F=t=>i(t,/^[a-zA-Z0-9]+$/),V=t=>i(t,/^[a-z0-9]+(?:-[a-z0-9]+)*$/),m=t=>t===t?.toLowerCase(),b=t=>t===t?.toUpperCase(),y=t=>t!==t?.toLowerCase()&&t!==t?.toUpperCase(),u=t=>i(t,/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/),A=t=>i(t,/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$/),D=t=>!isNaN(Number(t)),w=t=>Number.isInteger(t),h=t=>Number(t)===t&&!Number.isInteger(t),$=t=>t>0,z=t=>t<0,f=(t,n)=>t>=n,N=(t,n)=>t<=n,T=(t,n,e)=>t>=n&&t<=e,a=t=>!isNaN(new Date(t).getTime()),Z=(t,n)=>new Date(t)>=new Date(n),C=(t,n)=>new Date(t)<=new Date(n),I=(t,n)=>new Date(t)<new Date(n),L=(t,n)=>new Date(t)>new Date(n),o=t=>i(t,/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?$/),P=t=>{const[n,e]=t.split("T");return a(n)&&o(e)},S=t=>typeof t=="boolean",O=(t,n)=>Array.isArray(t)&&t.length>=n,U=(t,n)=>Array.isArray(t)&&t.length<=n,j=t=>Array.isArray(t)&&new Set(t).size===t.length,R=(t,n)=>Array.isArray(t)&&t.every(n),r=(t,n)=>n.every(e=>t.hasOwnProperty(e)),E=(t,n,e)=>t[n]&&e(t[n]),q=(t,n)=>Object.keys(t).length===n.length&&r(t,n),M=t=>Object.keys(t).length===0,B=(t,n)=>n.some(e=>t.endsWith(e)),J=(t,n)=>t<=n,K=(t,n)=>t>=n,k=t=>i(t,/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/),H=t=>i(t,/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),W=t=>i(t,/^(\d{1,3}\.){3}\d{1,3}$/),_=t=>i(t,/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/),G=t=>{try{return JSON.parse(t),!0}catch{return!1}},Q=t=>i(t,/^[0-9a-fA-F]+$/),X=t=>i(t,/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/);export{L as afterDate,I as beforeDate,c as exactLength,q as hasExactKeys,r as hasRequiredKeys,T as inRange,x as isAlpha,F as isAlphaNumeric,X as isBase64,S as isBoolean,k as isCreditCard,P as isDateTime,l as isEmail,M as isEmptyObject,B as isFileType,h as isFloat,Q as isHexadecimal,W as isIPAddress,w as isInteger,G as isJSON,m as isLowercase,_ as isMACAddress,A as isMediumPassword,y as isMixedCase,z as isNegative,D as isNumeric,$ as isPositive,s as isRequired,V as isSlug,u as isStrongPassword,o as isTime,g as isURL,H as isUUID,b as isUppercase,a as isValidDate,R as itemType,E as keyType,C as maxDate,J as maxFileSize,U as maxItems,p as maxLength,N as maxValue,Z as minDate,K as minFileSize,O as minItems,d as minLength,f as minValue,i as pattern,j as uniqueItems};
//# sourceMappingURL=index.js.map