以一個javascript類爲例,其中有很多代碼示例,但沒有提供任何解釋。我想到我對各種運營商和標準功能有了很好的理解,但下面的else if
聲明對我來說簡直令人難以置信。有人可以請一點點光,謝謝。逆向工程JavaScript正則表達式
function validatePassword(password) {
try {
if (document.forms[0].password.value != document.forms[0].password_confirm.value)
throw "You did not enter the same password.";
else if (!/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,15}$/.test(password))
throw "You did not enter a valid password.";
}
具體地說此: (!/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,15}$/.test(password))
看[正則表達式MDN(https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions) – Givi
'(!/ ^(?=。* \ d)( ?=。* [az])(?=。* [AZ])。{6,15} $ /。test(password))'是一個正則表達式(http://en.wikipedia.org/wiki/Regular_expression) 。密碼需要匹配一系列過濾器才能被接受。 –
各種字符是一個正則表達式,'test()'測試密碼是否與正則表達式字符串匹配。 – Chris