Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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 如何使用正则表达式验证密码是否允许至少4位数字和1个字符,而不允许使用特殊字符?_Javascript_Regex - Fatal编程技术网

Javascript 如何使用正则表达式验证密码是否允许至少4位数字和1个字符,而不允许使用特殊字符?

Javascript 如何使用正则表达式验证密码是否允许至少4位数字和1个字符,而不允许使用特殊字符?,javascript,regex,Javascript,Regex,如何使用正则表达式验证密码是否允许至少4位数字和1个字符,而不允许使用特殊字符 密码有效格式:1234a或6778B或67A89(不含@$%^&*/等特殊字符) 最大密码长度:5个字符 有人能帮我怎么做吗 谢谢。您想要的图案 任意数量 然后是一封信 任意数量 所有附加限制不得超过5个字符 模式可能是这样的:(使用正向前瞻检查数字-字母-数字组合,然后检查5个字符以检查长度) 这将允许您输入四个数字(0-9)和一个字母(a-z和a-z)示例1234a。。。。希望这就是您想要的答案。此正则表达式

如何使用正则表达式验证密码是否允许至少4位数字和1个字符,而不允许使用特殊字符

密码有效格式:1234a或6778B或67A89(不含@$%^&*/等特殊字符)

最大密码长度:5个字符

有人能帮我怎么做吗

谢谢。

您想要的图案

  • 任意数量
  • 然后是一封信
  • 任意数量
  • 所有附加限制不得超过5个字符
模式可能是这样的:(使用正向前瞻检查数字-字母-数字组合,然后检查5个字符以检查长度)


这将允许您输入四个数字(0-9)和一个字母(a-z和a-z)示例1234a。。。。希望这就是您想要的答案。

此正则表达式应该可以:

^(?=(.*?[0-9]){4})(?=.*?[a-zA-Z])[0-9A-Za-z]{5}$
由于我们只允许在密码中使用
[0-9A-Za-z]{5}
符号,因此无需在此处检查特殊字符

在线演示: 说明:

  • (?=(.*?[0-9]){4}
    -向前看以检查是否存在至少4个数字
  • (?=.*[a-zA-Z])
    -提前检查是否存在至少1个字母
  • [0-9A-Za-z]{5}
    只允许字符类中的最大长度为5的符号

    • 下面是用于执行所需检查的javascript代码

      var regex =^(?=(.*?[0-9]){4})(?=.*?[a-zA-Z])[0-9A-Za-z]{5}$; 
      var input = "1234B"; 
      if(regex.test(input)) {
          alert(matches[match]);
      } else 
      {
        alert("No matches found!");
      }
      

      您是否尝试自己实施此功能?你到底哪里有问题?目前,这篇文章似乎要求我们为你做这项工作。。。这只是一个规格列表。以下哪项是有效的1234a 12345 1234#可以让你输入4个DIDGET和1个字母,这是你要求的,这是我给的,谢谢你的否决票。注意,我不是问这个问题的用户。哦,我现在明白了。。我的错误我不相信Javascript支持模式修饰符谢谢@RonRosenfeld,我删除了
      I
      我认为这不对。第一个前瞻将不检查是否至少有4个数字,但只接受4个数字。所以67A89将无法与example@fejese:您可能不理解正则表达式,或者没有检查链接的演示。如果您确实检查了链接的演示,它确实匹配了有效的
      67A89
      。@ahalya,我的错,我漏掉了一个括号。这个问题与@anubhava的问题相同:不接受像这样的密码67A89@ahalya如果我的回答对你有帮助,请接受。
      ^(?=(.*?[0-9]){4})(?=.*?[a-zA-Z])[0-9A-Za-z]{5}$
      
      var regex =^(?=(.*?[0-9]){4})(?=.*?[a-zA-Z])[0-9A-Za-z]{5}$; 
      var input = "1234B"; 
      if(regex.test(input)) {
          alert(matches[match]);
      } else 
      {
        alert("No matches found!");
      }