Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用户名和密码的JavaScript验证_Javascript_Html_Regex - Fatal编程技术网

用户名和密码的JavaScript验证

用户名和密码的JavaScript验证,javascript,html,regex,Javascript,Html,Regex,这些要求是: 选中用户以输入以字符[a-zA-Z]开头的用户名,选中用户以输入3或更多的用户名 字母数字字符。 要求用户输入8个或更多字符的密码,其中至少有1个大写字母、1个数字和1个特殊字符 字符/-+!@$^&。 密码和确认密码输入相同。 我已经完成了电子邮件和所需的输入,但对如何在JavaScript中实现这一点感到困惑 这就是我所做的: <script> function validateForm() { var nameRegex = /^[a-zA-Z\-

这些要求是:

选中用户以输入以字符[a-zA-Z]开头的用户名,选中用户以输入3或更多的用户名 字母数字字符。 要求用户输入8个或更多字符的密码,其中至少有1个大写字母、1个数字和1个特殊字符 字符/-+!@$^&。 密码和确认密码输入相同。 我已经完成了电子邮件和所需的输入,但对如何在JavaScript中实现这一点感到困惑

这就是我所做的:

<script>
function validateForm() {
        var nameRegex = /^[a-zA-Z\-]+$/;
    var passregex= /^(?=.{8,})(?=.*[0-9])(?=.*[A-Z])(?=.*[@#$%^&+*!]).*$/;
    var uname = document.myForm.firstName.value.match(nameRegex);
    var firstpassword=document.myForm.password.value;  
    var secondpassword=document.myForm.password2.value;
        var firstpassword = document.myForm.password.value.match(passregex);
    
    if(uname == null){
        if(uname.length<3){
        alert("Username length should be atleast 3 and make sure it starts with A-Z");}
        return false;
  }
  elseif(firstpassword==null){
    if(firstpassword.length<8){  
      alert("Password must be at least 6 characters long.");  
      return false;  
    }
    elseif(firstpassword==secondpassword){
      alert("Please enter same password");  
      return false;  
    }
  }
}
</script>

尝试使用jQuery验证。它可以很容易地实现。

查看我的这篇文章,我确实使用javascript以更优化、更简单的方式提供了解决方案:

函数validateForm{ 如果document.myForm.userName.value&&document.myForm.password.value&&document.myForm.confirmpassword.value{ 如果document.myForm.password.value==document.myForm.confirmpassword.value{ 如果document.myForm.userName.value.length<3{ alertUsername长度应至少为3,并确保以A-Z开头; 返回false; }否则,如果document.myForm.password.value.length<8{ alertPassword的长度必须至少为6个字符。; 返回false; }否则{ 如果新的RegExp/^[A-Za-z][A-Za-z0-9]+$/.testdocument.myForm.userName.value==false{ 警报“用户名以字符[a-zA-Z]开头”; 返回false; }否则,如果新的RegExp/^?=.[a-z]?=.[a-z]?=.*\d?=.[$@!%&*?][a-Za-z$@!%&*?]{8,30}$/.testdocument.myForm.password.value{ alertpassword是8个或更多字符,其中至少有1个大写字母、1个数字和1个特殊字符/-+!@$^&; 返回false; }否则{ 警惕‘成功!’; 返回true; } } }否则{ alertpassword&确认密码不匹配!; 返回false; } }否则{ 警报请添加有效凭据。。; 返回false; } } 用户名 暗语 确认密码
你能分享你以前的尝试吗?勾选此处,请添加您的代码,以便我们可以帮助您。@Parth,对不起!现在我已经添加了它,如果您想将正则表达式与某个对象匹配,则不能使用类似于此名称的直接赋值=^[A-Za-z]您需要将模式与用户的输入相匹配。因此,您可以使用ifYourRegularExpression.TestStringThathaisUserInput,如果它匹配,它将返回true。我不想使用此选项。此问题没有标记为您是一个令人惊讶的问题: