我正在爲大學創建帳戶。檢查字符串是否包含數字和符號
我的問題是,如果用戶設置的密碼不包含數字和/或符號,我想返回錯誤消息,我需要幫助。
密碼需要包含大寫和小寫字母,數字和符號(!,#,%或&)。我需要錯誤消息是特定的。
有什麼建議嗎?我正在使用HTML和JS。
我正在爲大學創建帳戶。檢查字符串是否包含數字和符號
我的問題是,如果用戶設置的密碼不包含數字和/或符號,我想返回錯誤消息,我需要幫助。
密碼需要包含大寫和小寫字母,數字和符號(!,#,%或&)。我需要錯誤消息是特定的。
有什麼建議嗎?我正在使用HTML和JS。
我會建議使用正則表達式和運行上的每個
像這樣的檢查:
function validateStr(str) {
var regex = new RegExp("[A-Z]+"); // Check for uppercase first
if(regex.test(str) == true) {
regex = new RegExp("[0-9]+"); // Now we check for numbers
if(regex.test(str) == true) {
regex = new RegExp("[a-z]+"); // checking now for lowercase
if(regex.test(str) == true) {
return 1;
} else return 2;
} else return 3;
} else return 4;
}
我還沒有列入「特殊字符」的參數,因爲你必須包括那些單獨在一個正則表達式,我不建議你這樣做。 我正在努力讓它在JSFiddle上工作,所以我沒有包括一個,但只是發表評論,如果你需要我進一步解釋。
雖然基於JS和regexp的解決方案是一個很好的開始(因爲在客戶端執行,所以速度更快),但我建議仔細檢查此服務器端。因爲我看到你可能正在使用eZ Publish(基於這個問題的標籤...),可以隨意重寫eZUser類(使用eZ Publish自動加載系統或使用PHP包含路徑魔術),然後破解eZUser :: validatePassword()方法來滿足您的要求。
我以前沒有見過使用像返回1,2,3,4 ... – 2014-08-27 08:22:20
我這樣做,以便您可以使用它來指定特定的錯誤文本給用戶,如果你想。 – Matthew 2014-08-27 08:28:03
這非常有幫助,謝謝。我可以繞過一下,看看我是否可以自己包含特殊字符編輯。 – 2014-08-27 08:33:03