我有一个密码和确认密码字段,我不希望用户只是从第一个字段复制并粘贴在以后的领域。我该怎么做?密码和确认密码
密码和确认密码
回答
简单口令模式,用户不能复制文字,不能将其粘贴到其他文本框。 所以你的问题得到解决。给两个文本框中的密码模式
没有有效的方法来阻止这种适用于所有浏览器的方法。即使存在这样的解决方案,用户也可以禁用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