我有一個密碼和確認密碼字段,我不希望用戶只是從第一個字段複製並粘貼在以後的領域。我該怎麼做?密碼和確認密碼
密碼和確認密碼
回答
簡單口令模式,用戶不能複製文字,不能將其粘貼到其他文本框。 所以你的問題得到解決。給兩個文本框中的密碼模式
沒有有效的方法來阻止這種適用於所有瀏覽器的方法。即使存在這樣的解決方案,用戶也可以禁用JavaScript,並根據需要進行復制和粘貼。大多數用戶不會複製和粘貼,因爲這是爲了他們自己的利益,並且是爲了防止錯誤。
對於密碼類型的字段通常禁用複製功能,因此您不需要執行任何操作。然而,沒有任何東西可以阻止用戶將相同的文本粘貼到其他任何字段中,並且對此您可以做的不多。試圖阻止這種情況會阻止一些用戶想要確保他們的密碼正確地粘貼,以及使用密碼生成器的用戶。
我同意來自密碼生成器的粘貼,爲什麼我所做的不是密碼,而是電子郵件字段! :) – Aristos 2010-09-15 09:42:25
這裏是一個辦法......
<asp:TextBox ID="txtEMailVerifyJoin" runat="server" ClientIDMode="Static"
autocomplete="off"
onpaste="pasteEvent('reg_conf_email');return false;"
onkeydown="disablePaste('pasteEvent()','reg_conf_email');"
onkeyup="disablePaste('pasteEvent()','reg_conf_email');"
oninput="disablePaste('pasteEvent()','reg_conf_email');"
></asp:TextBox>
而對於JavaScript的
<script>
var charCount = document.getElementById("txtEMailVerifyJoin").value.length;
var oldVal = eval(document.getElementById("txtEMailVerifyJoin")).value;
function disablePaste(methodToCall)
{
newCharCount = document.getElementById("txtEMailVerifyJoin").value.length;
oldCharCount = charCount;
charCount = newCharCount;
if(newCharCount - oldCharCount > 1)
{
eval(methodToCall);
charCount = oldVal.length;
}
else
{
oldVal = eval(document.getElementById("txtEMailVerifyJoin")).value;
}
}
function pasteEvent()
{
document.getElementById("txtEMailVerifyJoin").value=oldVal;
return false;
}
function initDisablePaste()
{
charCount = document.getElementById("txtEMailVerifyJoin").value.length;
oldVal = eval(document.getElementById("txtEMailVerifyJoin")).value;
}
initDisablePaste();
</script>
它不是我的想法,如果我發現,我看到它,我將它張貼在這裏。
看到它住在這裏:
Join Athineon
刪除它。
此命令適用於(對於本頁)上的確認電子郵件地址! (不輸入密碼)
關於用戶界面,如果這是一個好主意,我在這裏做了一個問題:https://ux.stackexchange.com/questions/1488/wondering-if-i-must-let-a-user-copy-paste-the-double-asking-confirm-e-mail-on-the
...如果沒有辦法,使用複雜,但100%安全的傳統方法:
聲明一個變量,每個按鍵店變量中文本框的最後一個字母。然後用< *>符號替換文本框的最後一個符號。 但你必須寫退格鍵的代碼,另一部分和Delete鍵刪除信件......
簡單方法它真的工作<asp:CompareValidator runat="server" ID="Comp1" ControlToValidate="id" ControlToCompare="ID2" Text="Password mismatch" Font-Size="11px" ForeColor="Red" />
ID1用於添加密碼的文本框ID
id2添加您的確認密碼文本框ID
- 1. 的jQuery:密碼和確認密碼
- 2. ASP.NET密碼和確認密碼在ClientSideEvents
- 3. 驗證密碼和確認密碼NG2
- 4. 確認當前密碼,新密碼並確認新密碼
- 5. 密碼確認
- 6. 密碼確認密碼驗證檢查
- 7. 的XForms密碼確認密碼
- 8. 密碼確認Javascript
- 9. 與密碼確認
- 10. jqGrid - 密碼確認
- 11. 確認密碼PHP
- 12. jqGrid密碼確認
- 13. Extjs確認密碼
- 14. Jquery密碼和確認密碼驗證不起作用正確
- 15. 密碼匹配(密碼和確認密碼)驗證使用ionic2和angular2
- 16. Authlogic和密碼和密碼確認屬性 - 無法訪問?
- 17. 表單幫助密碼和確認密碼
- 18. 驗證密碼和確認密碼爲XAML
- 19. 比較確認密碼和散列密碼| Laravel 4
- 20. 在ASP.Net中比較密碼和確認密碼MVC
- 21. 如何檢查密碼和確認密碼在AngularJS同
- 22. Spring 3基於批註的驗證:密碼和確認密碼
- 23. 如何驗證密碼和確認密碼是否相等?
- 24. 如何驗證電子郵件,密碼和確認密碼?
- 25. '確認密碼'和'密碼'不匹配。 MVC5
- 26. 如何在加密後確認密碼
- 27. 驗證確認密碼?
- 28. jquery確認密碼驗證
- 29. 確認密碼快遞
- 30. AngularJS確認密碼驗證
是的,但當然,如果您禁用JavaScript,你不能使它的工作... – Aristos 2010-09-15 09:12:31
它仍然是錯誤的,因爲它是一個障礙,自由。如果用戶想複製並粘貼,請讓她這樣做(如果密碼錯誤,這只是她自己的錯)。 – 2010-09-15 09:14:47
好吧,這是一個不同的討論...我會在ui論壇上提出一個問題。 – Aristos 2010-09-15 09:23:02