检查字符串是否包含数字和字母(至少)

Fal*_*gel 12 regex

我想检查密码是否包含至少一个字母和一个数字.特殊字符被接受但不是必需的......

这将是一个简单的密码检查器.

cod*_*ict 32

您可以使用先行断言检查是否存在任何数字和任何字母:

^(?=.*[a-zA-Z])(?=.*[0-9])
Run Code Online (Sandbox Code Playgroud)

  • 这是错误的,并测试包含字母 **OR** 数字的字符串。我在这里找到了“Pete Lindquist”的答案:https://www.regexlib.com/REDetails.aspx?regexp_id=515 表达式 ```(?!^[0-9]*$)(?!^[a- zA-Z]*$)^([a-zA-Z0-9]{6,15})$``` 匹配 ```C2dfeed | 运动追踪1 | 11223a``` (3认同)
  • 你可以放弃`.*$`部分. (2认同)

El *_*oco 6

使用单个正则表达式可能会导致代码有些难以理解/不可靠.使用更简单的正则表达式可能更有意义,例如[0-9]检查数字的存在并将密码强度检查器的要求分解为多行if.此外,这使您可以更容易地了解验证失败的阶段,并可能向用户提出建议.