0
A
回答
0
驗證可以不通過e。使用一個單一的正則表達式:
var pw = "letMe1n!"; // Read this from an <input> field
// Validation:
if (/^(?=.*[.,?!])(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{6,}/.test(pw)) {
// The password is valid!
}
該組標點字符,[.,?!]
如果需要,可以延長。
4
這裏有一個辦法做到這一點使用正則表達式的數組:
/**
* Returns true if pw is a valid password.
*/
function isValid(pw) {
if (! pw) {
return false;
}
var rgx = [
/.{6,}/,
/[A-Z]/,
/[a-z]/,
/[0-9]/,
/[@#$&*^%!+=\/\\[\]|?.,<>)(;:'"~`]/
];
for (var i = 0; i < rgx.length; i++) {
if (rgx[i].test(pw) === false) {
return false;
}
}
return true;
}
你可以使通過將正則表達式數組作爲參數更靈活。
More reading about regex.test() here
這裏是更具可讀性,學術版:
function isValid(s) {
// check for null or too short
if (!s || s.length < 6) {
return false;
}
// check for a number
if (/[0-9]/.test(s) === false) {
return false;
}
// check for a capital letter
if (/[A-Z]/.test(s) === false) {
return false;
}
// check for a lowercase letter
if (/[a-z]/.test(s) === false) {
return false;
}
// check for punctuation mark
if (/[@#$&*^%!+=\/\\[\]|?.,<>)(;:'"~`]/.test(s) === false) {
return false;
}
// all requirements have been satisfied
return true;
}
這裏有一個working example。
相關問題
- 1. 庫密碼太短 - 必須至少6個字符進口
- 2. 6個字符或以上的弱密碼,至少有1個數字
- 3. 密碼至少[1-9]至少[az]至少[AZ]無特殊字符
- 4. 密碼應至少包含一個數字和一個字符
- 5. 限制密碼至少包含x個特殊字符?
- 6. 密碼字符串驗證:有8個字符,至少1個字符,1個數字和1個特殊字符
- 7. 密碼最少6個字符不起作用[導軌4]
- 8. 驗證至少一個字段是以dhtmlx格式填充
- 9. 有特殊字符Angular2密碼驗證
- 10. 密碼驗證 - 至少一個大寫,一個小寫字母和一個數字
- 11. 檢查是否密碼至少有兩個不同的特殊字符
- 12. 如何添加HTML5驗證以確保密碼長度至少爲5個字符?
- 13. 驗證至少兩個輸入
- 14. 驗證的至少一個has_and_belongs_to_many
- 15. angularjs複選框驗證至少兩個
- 16. 實體驗證 - 零或至少三個
- 17. jquery驗證至少一個複選框
- 18. 驗證密碼字段是否爲空
- 19. 驗證密碼字段是否包含特殊字符
- 20. jquery驗證(至少有一個字段有文字)
- 21. SpringSecurity密碼驗證(密碼中的特殊字符)
- 22. 如何檢查字符串是否至少有6個字符,一個大寫字母和一個數字? - Javascript
- 23. 兩個密碼字段的jQuery驗證
- 24. 密碼必須是字母數字以最小的8個字符 - 驗證
- 25. 驗證至少有一個複選框被用笨驗證類
- 26. 複選框驗證 - 驗證至少選擇了一個
- 27. Jquery驗證插件密碼包含至少10個字符,1個數字或標點符號,1個大寫和1個小寫字母。
- 28. 用於驗證表單的jQuery(檢查至少10個字符和某個值)
- 29. 驗證密碼
- 30. 密碼驗證
粘貼您的代碼,然後我們指出錯誤 – guisantogui
如果您想獲得更多答案,請添加「javascript」標記。 – kol
指出使用JavaScript驗證密碼是非常重要的,這意味着代碼將在瀏覽器中運行,而不是在服務器上運行。這是一個糟糕的安全模式 - 客戶端安全 - 可以輕鬆繞過。將它作爲可用性功能或嘗試最小化服務器負載(通過在客戶端上發生錯誤)是可以的,但如果您的服務器沒有獨立驗證密碼,則不會安全地編寫應用程序,無論客戶端結果。 – atk