Javascript 正则表达式,需要一个大写字母、一个小写字母和一个数字,并允许特殊

标签 javascript regex

我正在尝试创建一个正则表达式来检查密码字段,我希望至少需要一个大写字母、一个小写字母和一个数字。

我还想允许用户使用特殊字符,但我不希望特殊字符成为必需。

这可能吗?如果可以,我应该使用什么正则表达式?

最佳答案

如果您不希望特殊字符成为要求,则验证它是没有意义的。

这个正则表达式应该这样做:/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).*$/

请注意,此正则表达式无法正确验证不在 a-zA-Z 默认 ascii 范围内的字符。因此,如果我的密码是 åäöÅäÖ1234,那么即使有大写和小写字母,它对于该正则表达式也是无效的。

如果这是一个要求,一个可能的解决方案是使用 unicode 属性进行重写。

演示:http://regex101.com/r/uO6jB5

关于Javascript 正则表达式,需要一个大写字母、一个小写字母和一个数字,并允许特殊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20586480/

相关文章:

正则表达式匹配 TR3456789、ME3456789 或 123456789

javascript - Highcharts 树状图 : Add link on lowest level

javascript - p5.j​​s 中逻辑门模拟器的对象生成错误

javascript - url 中没有哈希值的回家路线...backbone.js?

ios - NSRegularExpression 创建时的 Cocoa 错误 2048

regex - 将列表分成行,同时在 r 中保留标识符

javascript - 手动或以编程方式单击时与 Prop ('checked' 不一致)

javascript - 图片在 iPad 上显示为旋转,而不是在笔记本电脑上

javascript - 寻找一个正则表达式来替换我的字符串

javascript - 使用 RegExp 概念,如何编写一个函数来接受一个字符串,该字符串返回另一个所有大写字母连接在一起的字符串?