正则表达式,检测字符串中没有空格
Posted
技术标签:
【中文标题】正则表达式,检测字符串中没有空格【英文标题】:Regex, detect no spaces in the string 【发布时间】:2017-10-01 12:28:55 【问题描述】:这是我当前的正则表达式检查:
const validPassword = (password) => password.match(/^(?=.*\d)(?=.\S)(?=.*[a-zA-Z]).6,$/);
我有一张至少 1 个字母和 1 个数字以及至少 6 个字符长的支票。但是我也想确保字符串中的任何地方都没有空格。
到目前为止,我可以输入 6 个包含空格的字符串 :(
在这里找到了这个答案,但由于某种原因在我的代码中它通过了。
What is the regular expression for matching that contains no white space in between text?
【问题讨论】:
【参考方案1】:看来你需要
/^(?=.*\d)(?=.*[a-zA-Z])\S6,$/
详情
^
- 字符串开头
(?=.*\d)
- 1 位数(至少)
(?=.*[a-zA-Z])
- 至少 1 个字母
\S6,
- 6 个或更多非空白字符
$
- 字符串锚点结束
考虑到principle of contrast,您可以将模式修改为
/^(?=\D*\d)(?=[^a-zA-Z]*[a-zA-Z])\S6,$/
【讨论】:
这是一个很好的解释。 谢谢! Geez Regex 总是让我头疼,几乎没有遇到我必须使用它的情况。以上是关于正则表达式,检测字符串中没有空格的主要内容,如果未能解决你的问题,请参考以下文章