我需要一个用于 Javascript 的正则表达式,它仅在以下情况下检查密码是否正确
- 至少有 1 个数字和 1 个字母
- 当它有下划线和/或连字符时仍然有效
- 长度必须为 4-20 个字符。
例子:
- test123 -> 有效
- test1 -> 有效
- 1234 -> 无效
- 测试 -> 无效
- test1_ -> 有效
- 测试 2 -> 有效
我尝试使用
var Reg = /^(?=.*\d)(?=.*[A-Za-z])[0-9A-Za-z-_]{4,12}$/;
它适用于 PHP,但不适用于 Javascript,有什么建议吗?