向密码验证JavaScript添加条件

向密码验证JavaScript添加条件,javascript,Javascript,我需要进一步验证这个密码。我创建了一个if语句,其中如果任何条件失败,失败的条件将打印出相关消息。我尝试为以下内容添加验证: 密码必须有1位数字(0-9) 密码必须有1个大写字母(A-Z) 密码必须有1个小写字母(a-z) Javascript代码: <script type="text/javascript"> function check_form() { var passw = document.getElementById('password-input-0').

我需要进一步验证这个密码。我创建了一个if语句,其中如果任何条件失败,失败的条件将打印出相关消息。我尝试为以下内容添加验证:

  • 密码必须有1位数字(0-9)
  • 密码必须有1个大写字母(A-Z)
  • 密码必须有1个小写字母(a-z)
Javascript代码:

<script type="text/javascript">
function check_form() {
    var passw = document.getElementById('password-input-0').value;
    var passw2 = document.getElementById('password-input-1').value;
    var letter = /[a-zA-Z]/;
    var number = /[0-9]/;

    if (passw.length < 6 || passw != passw2 || !letter.test(passw) || !number.test(passw)) {
        if (passw.length < 6) {
            alert("Please make sure password is longer than 6 characters.")
            return false;
        }
        if (passw != passw2) {
            alert("Please make sure passwords match.")
            return false;
        }
        if (!letter.test(passw)) {
            alert("Please make sure Password Includes an UpperCase and LowerCase character")
            return false;
        }
        if (!number.test(passw)) {
            alert("Please make sure Password Includes a Digit")
            return false;
        }

        /*email test*/
        var email = document.getElementById('email-input-0').value;
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!filter.test(email)) {
            alert('Please provide a valid email address');
            form.email.focus;
            return false;
        }


        return true;
    }
}
</script>

函数检查表(){
var passw=document.getElementById('password-input-0')。值;
var passw2=document.getElementById('password-input-1')。值;
变量字母=/[a-zA-Z]/;
变量数=/[0-9]/;
如果(passw.length<6 | | | passw!=passw2 | |!字母测试(passw)| |!数字测试(passw)){
如果(通过长度<6){
警报(“请确保密码长度超过6个字符。”)
返回false;
}
如果(passw!=passw2){
警报(“请确保密码匹配。”)
返回false;
}
如果(!字母测试(passw)){
警报(“请确保密码包含大小写字符”)
返回false;
}
如果(!number.test(passw)){
警报(“请确保密码包含数字”)
返回false;
}
/*电子邮件测试*/
var email=document.getElementById('email-input-0')。值;
变量过滤器=/^([a-zA-Z0-9\.\-])+\@([a-zA-Z0-9\-])+\)+([a-zA-Z0-9]{2,4})+$/;
如果(!filter.test(电子邮件)){
警报(“请提供有效的电子邮件地址”);
form.email.focus;
返回false;
}
返回true;
}
}
这段代码似乎不起作用,作为一个缺乏经验的JS程序员,我不知道为什么它不起作用。我留下电子邮件验证只是为了确保修复不会干扰它。谢谢你的阅读

工作小提琴

功能检查表单()
{
var passw=document.getElementById('password-input-0')。值;
var passw2=document.getElementById('password-input-1')。值;
var字母=/[a-z]/;
var letterUp=/[A-Z]/;
变量数=/[0-9]/;
如果(passw.length<6 | | | passw!=passw2 | |!字母测试(passw)| |!数字测试(passw)){

if(passw.length代码中存在一些问题。首先,您缺少几个
}
大括号-例如,第一个主
if
子句的结尾

第二,字符检查有点问题——它在同一检查中同时检查大小写,所以不应该有效的密码通过了检查

我已经更新了fiddle,现在它包含了正确的代码,解决了这两个问题:

功能检查表单()
{
var passw=document.getElementById('password-input-0')。值;
var passw2=document.getElementById('password-input-1')。值;
var字母=/[a-z]/;
var上限=/[A-Z]/;
变量数=/[0-9]/;
如果(passw.length<6 | | | passw!=passw2 | |!字母。测试(passw)| |!数字。测试(passw)| |!上。测试(passw)){

if(passw.lengtuh…我认为这个代码
if(passw.length<6 | | | passw!=passw2 | | |!letter.test(passw)| | number.test(passw)){…}
有点多余,因为您要在其中再次检查。请发布一段代码,以便我们更容易/更快地查看it@user3241019小提琴在那里,但我确实加了它late@dunli你会建议怎么做?把它分成单独的If语句会更好吗?啊,是的,谢谢,我实际上正在做一个新的If语句或者你,我现在会在现场网站上测试它可以正常工作,但是如果你输入
helloworld9
作为密码,它不会要求你包含大写字母,反之亦然,
helloworld9
。更新..现在试试,让我知道。很抱歉,我没有看到你已经有了正确的答案。工作得很好!不敢相信我错过了e
}
!!非常感谢:)
   function check_form()
{
var passw = document.getElementById('password-input-0').value;
var passw2 = document.getElementById('password-input-1').value;
var letter = /[a-z]/;
 var letterUp= /[A-Z]/;
var number = /[0-9]/;

if(passw.length < 6 || passw != passw2 || !letter.test(passw) || !number.test(passw) ) {
      if(passw.length<6){
      alert("Please make sure password is longer than 6 characters.")
      return false;
      }
      if(passw != passw2){
      alert("Please make sure passwords match.")
      return false;
      }
      if(!letter.test(passw) || !letterUp.test(passw)){
      alert("Please make sure Password Includes an UpperCase and LowerCase character")
      return false;
      }
      if(!number.test(passw)){
      alert("Please make sure Password Includes a Digit")
      return false;     
  }

  /*email test*/
var email = document.getElementById('email-input-0').value;
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (!filter.test(email)) {
     alert('Please provide a valid email address');
     form.email.focus;
     return false;
}


return true;
}
}
<input type="text" id="password-input-0"/>
<input type="text" id="password-input-1"/>
<input type="button" value="clickme" id="password-input-2" onclick="check_form()"/>
function check_form()
{
var passw = document.getElementById('password-input-0').value;
var passw2 = document.getElementById('password-input-1').value;
var letter = /[a-z]/;
var upper  =/[A-Z]/;
var number = /[0-9]/;

if(passw.length < 6 || passw != passw2 || !letter.test(passw) || !number.test(passw) || !upper.test(passw)) {
  if(passw.length<6){
    alert("Please make sure password is longer than 6 characters.")
    return false;
  }
  if(passw != passw2){
    alert("Please make sure passwords match.")
    return false;
  }
  if(!letter.test(passw)){
    alert("Please make sure password includes a lowercase letter.")
    return false;
  }
  if(!number.test(passw)){
    alert("Please make sure Password Includes a Digit")
    return false;     
  }
  if(!upper.test(passw)) {
    alert("Please make sure password includes an uppercase letter.");
    return false;
  }
}

/*email test*/
var email = document.getElementById('email-input-0').value;
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email)) {
  alert('Please provide a valid email address');
  form.email.focus;
  return false;
}


return true;
}