如何在JavaScript中确认两个密码相同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在JavaScript中确认两个密码相同相关的知识,希望对你有一定的参考价值。

我正在尝试在JS中使用简单的密码确认器。基本上,用户具有2个输入字段,如果它们匹配则什么也不会发生,但是如果它们不匹配,那么将出现一个警报窗口

这也是我使用javascript的第一天,也是我对Stack Overflow的第一个问题,对于任何错误或不幸,我们深表歉意。谢谢

<body>
    <form>
        Password:<br>
        <input type="password" name="password" placeholder="Password">
        <br>
        Re-enter Password:<br>
        <input type="password" name="confirmPassword" placeholder="Confirm password">
        <br>
        <input type="submit" onclick="ansValidation()" value="Sign Up">
    </form>
    <br>
    <script>
        function ansValidation() 
            var nameValue = document.getElementById("name")
            var passValue = document.getElementById("password")
            var confpassValue = document.getElementById("confirmPassword")
            if(typeof nameValue != String)
                window.alert("Please re-enter your name")
            else if(passValue != confpassValue) 
               window.alert("Passwords do not match!")
            
        
    </script>
</body>

答案

document.getElementById函数返回一个节点,而不是输入中的值。您需要在这些节点上调用value属性以访问其值。

function ansValidation(ev) 
    ev.preventDefault
    // there is no input named name
    //var nameValue = document.getElementById("name").value
    var nameValue = "test";
    var passValue = document.getElementById("password").value
    var confpassValue = document.getElementById("confirmPassword").value
    // the typeof operator returns a string.
    if(typeof nameValue !== "string")
        window.alert("Please re-enter your name")
    // we use strict validation ( !== ) because it's a good practice.
    else if(passValue !== confpassValue) 
       window.alert("Passwords do not match!")
    
<form>
    Password:<br>
    <input type="password" id="password" placeholder="Password">
    <br>
    Re-enter Password:<br>
    <input type="password" id="confirmPassword" placeholder="Confirm password">
    <br>
    <input type="button" href="#" onclick="ansValidation(event)" value="Sign Up">
</form>
 

以上是关于如何在JavaScript中确认两个密码相同的主要内容,如果未能解决你的问题,请参考以下文章

autocomplete = new-password并通过再次输入密码让他们确认

比较两个文本字段的文本

jqGrid - 密码确认

JAVA中JPasswordField实现密码的确认

JavaScript 正则表单验证(用户名密码确认密码手机号座机号身份证号)

我们将如何发送不同的电子邮件模板以重置密码并确认在 AWS cognito 中注册