正则表达式,检测字符串中没有空格

时间:2017-05-03 15:16:32

标签: javascript regex regex-negation

这是我目前的正则表达式检查:

const validPassword = (password) => password.match(/^(?=.*\d)(?=.\S)(?=.*[a-zA-Z]).{6,}$/);

我检查了至少1个字母和1个数字以及至少6个字符。但是我也想确保字符串中的任何地方都没有空格。

到目前为止,我可以输入包含空格的6个字符串:(enter image description here

在这里找到了这个答案,但由于某种原因,在我的代码中它已经过去了。

What is the regular expression for matching that contains no white space in between text?

1 个答案:

答案 0 :(得分:5)

似乎你需要

/^(?=.*\d)(?=.*[a-zA-Z])\S{6,}$/

<强>详情

  • ^ - 字符串开头
  • (?=.*\d) - 1位数(至少)
  • (?=.*[a-zA-Z]) - 至少1个字母
  • \S{6,} - 6个或更多非空白字符
  • $ - 字符串锚点结束

考虑到principle of contrast,您可以将模式修改为

/^(?=\D*\d)(?=[^a-zA-Z]*[a-zA-Z])\S{6,}$/