[英]password validation on specific characters in javascript
我必须验证密码并确认密码字段。 我还必须显示其字符在哪些字段上不匹配。 这是我到目前为止没有字符检查的代码。
function checkPaswd(){ if (document.getElementById('pass1').value !== "" && document.getElementById('ppass').value !== "") {if(document.getElementById("pass1").value == document.getElementById("ppass").value){ document.getElementById('msg').style.color = 'green'; document.getElementById('msg').innerHTML = 'matching'; } } else { document.getElementById('msg').style.color = 'red'; document.getElementById('msg').innerHTML = 'not matching'; } }
<form id="pass-form"> Password: <input name="pass1" id="pass1" type="password" pattern=".{10,}" placeholder="Password" required onkeyup="checkPaswd(); return false;" oninvalid="this.setCustomValidity('Password is not 10+ characters');" oninput="this.setCustomValidity('');"> Confirm Password: <input name="ppass" id="ppass" type="password" pattern=".{10,}" placeholder="Confirm Password" required onkeyup="checkPaswd(); return false;" oninvalid="this.setCustomValidity('Password not empty');" oninput="this.setCustomValidity('');"> <span id="msg"></span> </form>
首先,尝试保存变量以防止冗余,例如var pass2 = document.getElementById('pass1').value;
。
然后,您可以使用String.charAt(index)
在字符串的特定索引处获取每个字符。 因此,您可以使用从i = 0
到String.length
的for循环简单地遍历您的密码,并查看哪些索引不匹配。 根据要返回的内容,它可能只是任何不匹配的布尔值,或者是不匹配索引的数组...
PS。 我建议在此之前检查两个密码的长度是否匹配!
祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.