我試圖解決密碼檢查挑戰,我已經到了一個字符串匹配兩個表達式的階段。RegEx如何檢查字符串的長度,同時也使用匹配組
規則:
- 迴歸「太短」因爲這是少於6個字符 任何字符串
回報「沒關係」如果字符串少於12個字符,設有一個或多個下劃線,或一個數字,或者大寫/小寫字母
var str = 'aBB33' var lessthansixRegex = new RegExp(/^(?=.*?[a-z])(?=.*?[A-Z])|(?=.*?\d{1}){0,6}$/); var okayRegex = new RegExp(/(?=.*?[a-z])(?=.*?[A-Z])|(?=.*?\d{1})|(?=.*?[_]{1})/); if (okayRegex.test(str) && str.length < 12) { return 'okay'; } else if (tooshortRegex.test(str) && str.length < 6) { return 'too short'; }
混合有沒有一種方法來檢查這個或者是C的PARAMATERS挑戰搞砸了。
您可能很容易發現的一個解決方案是缺少'',但'好的'正則表達式必須將該參數設置爲或'|'因爲還有其他字符串不需要匹配,也不包括''。
隨時讓我知道,如果你發現任何其他錯誤。
非常感謝!
嗯,我只是習慣RegEx,所以我認爲這可能是一個很好的做法,嘗試使用RegEx檢查字符串長度。奇怪的是,如果我只使用string.length屬性,'好'的正則表達式仍然是匹配的。 – user6456392
嗯......前面的樣子似乎通過了測試,比經典的^(樣式)$更多(我在到達這個之前試過了幾種方法) – user6456392