Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 24x 6x 6x | const re = /^[0-9a-z]+$/
export interface IsCuid2Options {
/**
* @default 24
*/
minLength?: number
/**
* @default 24
*/
maxLength?: number
}
/**
* 检测传入值是否是 Cuid2。
*
* @param value 要检测的值
* @returns 返回检测结果
* @example
* ```typescript
* isCuid2('1') // => false
* isCuid2('tz4a98xxat96iws9zmbrgj3a') // => true
* ```
* @see https://github.com/paralleldrive/cuid2
*/
export function isCuid2(value: string, options: IsCuid2Options = {}): boolean {
const { minLength = 24, maxLength = 24 } = options
return (
!!value &&
typeof value === 'string' &&
value.length >= minLength &&
value.length <= maxLength &&
re.test(value)
)
}
|