Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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 如何检查用户';s的名字和姓氏在密码中?_Javascript_Validation_Passwords - Fatal编程技术网

Javascript 如何检查用户';s的名字和姓氏在密码中?

Javascript 如何检查用户';s的名字和姓氏在密码中?,javascript,validation,passwords,Javascript,Validation,Passwords,我正在按照以下条件验证密码: 1•字母和数字 2•允许“!”、“?”、“.” 3•最小1个大写字母 4•最少8个字符 5•最多16个字符 6•最少2个数字 7•不包含名字 8•不包含姓氏 此代码在前6个条件下运行良好,但仍然无法验证7和8 function validatePassword(){ var inputs = document.getElementsByTagName('input'); var allowedInput = new RegExp("^(?=(.*\\d){2})(

我正在按照以下条件验证密码: 1•字母和数字 2•允许“!”、“?”、“.” 3•最小1个大写字母 4•最少8个字符 5•最多16个字符 6•最少2个数字 7•不包含名字 8•不包含姓氏

此代码在前6个条件下运行良好,但仍然无法验证7和8

function validatePassword(){
var inputs = document.getElementsByTagName('input');

var allowedInput = new RegExp("^(?=(.*\\d){2})(?=.*[A-Z])[a- 
    zA-Z0-9!?.]{8,16}$");
for(i = 0; i < inputs.length; i++){
     if(inputs[i].type == "password"){
          if(inputs[i].value.match(allowedInput)){
               console.log("Pass Good");                        
          }

          else{
           console.log("Only numbers, letters!,?,. allowed\n" + 
                "Between 8 - 16 chars\n" + 
            "Minimum one uppercase letter\n" +
            "Minimum 2 digits\n");                  
          }
      }
   }
}
函数validatePassword(){
var inputs=document.getElementsByTagName('input');
var allowedInput=new RegExp(“^(?=(.*\\d){2})(?=.[A-Z])[A-
zA-Z0-9!?.]{8,16}$”;
对于(i=0;i
以下是使用javascript用正则表达式验证名字和姓氏的javascript代码

test()–此函数用于在JavaScript中执行正则表达式匹配

var regName = /^[a-zA-Z]+ [a-zA-Z]+$/;
var name = document.getElementById('nameInput').value;
if(!regName.test(name)){
    alert('Invalid name given.');
}else{
    alert('Valid name given.');
}

函数验证(){
var regName=/^[a-zA-Z]+[a-zA-Z]+$/;
var name=document.getElementById('name')。值;
如果(!regName.test(name)){
警报('请输入您的全名(名和姓)。');
document.getElementById('name').focus();
返回false;
}否则{
警报('给定的有效名称');
返回true;
}
}

由于您没有使用regex标记,这里有另一种方法:

var fnlc = firstname.toLowerCase();
var lnlc = lastname.toLowerCase();
var vallc = inputs[i].value.toLowerCase();
var hasname = (vallc.indexOf(fnlc) >= 0 || vallc.indexOf(fnlc) >= 0);
如果你因为非常喜欢正则表达式而对它情有独钟;),然后只需分别测试名称:

var testNames = new RegExp(firstname+'|'+lastname, "gi");
var hasname = testNames.test(inputs[i].value); // true if found

对于valdation 7和8,您可以使用
Array.prototype.includes()
并修改代码,如下所示:

我假设firstNamelastName是可以使用Document.querySelector()或任何其他DOM操纵器从DOM获取的变量

函数validatePassword(){
var inputs=document.getElementsByTagName('input');
var allowedInput=new RegExp(“^(?=(.*\\d){2})(?=.[A-Z])[A-
zA-Z0-9!?.]{8,16}$”;
对于(i=0;i
谢谢你,用男生的答案;我可以想出这个代码:if(inputsTolc.includes(firstName)| | inputsTolc.includes(lastName)){console.log(“密码中有错误的名字或姓氏”)}谢谢,这非常有用,通过使用您的代码,我可以想出这个代码:if(inputsTolc.includes(firstName)| inputsTolc.includes(lastName)){console.log(“密码中的名字或姓氏错误”);}
var testNames = new RegExp(firstname+'|'+lastname, "gi");
var hasname = testNames.test(inputs[i].value); // true if found
function validatePassword(){
var inputs = document.getElementsByTagName('input');
var allowedInput = new RegExp("^(?=(.*\\d){2})(?=.*[A-Z])[a- 
    zA-Z0-9!?.]{8,16}$");
for(i = 0; i < inputs.length; i++){
     if(inputs[i].type == "password" && inputs[i].includes(firstName) && inputs[i].includes(lastName)){
          if(inputs[i].value.match(allowedInput) && ){
               console.log("Pass Good");                        
          }

          else{
           console.log("Only numbers, letters!,?,. allowed\n" + 
                "Between 8 - 16 chars\n" + 
            "Minimum one uppercase letter\n" +
            "Minimum 2 digits\n");                  
          }
      }
   }
}