2017-05-03 161 views
2

這是我目前正則表達式檢查中沒有空格:正則表達式,識別字符串

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?

回答

4

看來你需要

/^(?=.*\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,}$/ 
+1

這是一個很好的解釋。 –

+1

謝謝! Geez Regex總是在我的頭上,幾乎沒有遇到我必須使用它的情況。 –

相關問題