Search Docs
plugin: DefineRegexPlugin<RuleName>
definePlugin
定义并注册自定义正则表达式插件规则,验证保留名称。
import { regex } from 'funtool'; // 定义自定义邮箱验证插件 const emailPlugin = regex.definePlugin({ name: 'email', pattern: /^\S+@\S+\.\S+$/, validate: (ctx) => ctx.pattern.test(ctx.input) }); // 使用注册的插件 const isValid = regex.checker('test@example.com').use('email').isValid();
type RegexValidateContext<T extends string> = { name: T; pattern: RegExp; input: string; } interface DefineRegexPlugin<T extends string> { name: T; pattern: RegExp; validate: (ctx: RegexValidateContext<T>) => boolean; } definePlugin<RuleName extends string>(plugin: DefineRegexPlugin<RuleName>):DefineRegexPlugin<RuleName>
name
string
pattern (
)
validate
(ctx:RegexValidateContext<T>) => boolean
返回注册的插件对象用于链式调用或直接使用。