【发布时间】:2021-07-03 13:06:35
【问题描述】:
我想验证一个格式必须为 x.xx.xxxxx 的字符串,第一个字符是必需的,后跟一个句点,然后是两个字符,后跟一个句点,然后另一组字符可以是任意长度的任何字符
【问题讨论】:
-
你可能想检查'.'的位置,在你的情况下'。根据基于 0 的索引,必须存在于索引 1 和 4。
标签: javascript typescript formik yup
我想验证一个格式必须为 x.xx.xxxxx 的字符串,第一个字符是必需的,后跟一个句点,然后是两个字符,后跟一个句点,然后另一组字符可以是任意长度的任何字符
【问题讨论】:
标签: javascript typescript formik yup
我在 Node 控制台中测试了一个 RegExp 模式 /[^.]\.[^.]{2}\.[^.]+/,这可能会对您有所帮助。
它需要一个非句点字符,后跟一个句点,然后是两个非句点字符,然后是一个句点,然后是一个或多个非句点字符。
如果最后一个位置允许有 0 个或多个非句点字符,则应改为如下,...
/[^.]\.[^.]{2}\.[^.]*/
> pattern = /[^.]\.[^.]{2}\.[^.]+/
/[^.]\.[^.]{2}\.[^.]+/
> pattern.test('a.bc.d')
true
> pattern.test('a.b.d')
false
> pattern.test('a.bc.djfkflkjd483789374')
true
在 yup 的上下文中,看起来本文档可以让您使用正则表达式进行验证...https://github.com/jquense/yup#stringmatchesregex-regex-message-string--function-schema
【讨论】: