cri*_*res 4 javascript regex reactjs yup formik
我正在使用formik和yup来验证表单。在一个输入中,如果它仅包含空格,则它会通过,这对我的用例无效。所以我通过谷歌找到了某种正则表达式,所以如果字符串只有空格,它会抛出一些消息,但我没有找到任何东西。
\n\nnome: string()\n .min(3, \'* Deve conter no m\xc3\xadnimo 3 caracteres\')\n .required(\'* Este campo \xc3\xa9 obrigat\xc3\xb3rio\')\n .matches(/[^\\s*].*[^\\s*]/g, \'* This field cannot contain only blankspaces\'),\nRun Code Online (Sandbox Code Playgroud)\n\n这样做的问题是,当它达到 3 个字符时,即使有必需的 yup 条件,验证也不起作用,并且与正则表达式匹配不会阻塞空格。到目前为止,我已经解决了:\nnome: values.nome.trim().replace(/\\s+/g, \' \')但是使用正确的正则表达式,我可以实时抛出错误。
您可以使用
/^(?!\s+$).*/
/^(?!\s+$)/
/^\s*\S.*$/
/^\s*\S[^]*$/
/^\s*\S[\s\S]*$/
Run Code Online (Sandbox Code Playgroud)
前两个正则表达式将匹配任何不等于 1 个或多个空格的字符串。
最后第三个、第四个和第五个匹配至少包含一个非空白字符的字符串。
请参阅正则表达式演示
细节
^- 字符串的开头(?!\s+$)- 如果有 1 个或多个空格且字符串末尾紧邻当前位置的右侧,则负向前视会使匹配失败.*- 0 个或更多除换行符之外的字符,尽可能多\s*\S.*- 零个或多个空格,一个非空格,然后是除换行符之外的任何零个或多个字符\s*\S[^]*/ \s*\S[\s\S]*- 与上面相同,但包括换行符在内的任何字符都可以出现在非空白字符之后$- 字符串结尾| 归档时间: |
|
| 查看次数: |
14511 次 |
| 最近记录: |