嗨,我是这个正则表达式的新手。请帮我解决这个问题。
我希望正则表达式至少匹配一个大写字母和至少一个数字以及任意数量的特殊字符。最小长度8和最大长度可以是15。
注意:允许的特殊字符为 @#$&。
感谢您的帮助。
答案 0 :(得分:11)
谢谢你们。我找到了答案。
/^(?=.*\d)(?=.*[A-Z])(?!.*[^a-zA-Z0-9@#$^+=])(.{8,15})$/
答案 1 :(得分:3)
正则表达式:
[A-Z]+[0-9]+[@#\$&]*
对于长度部分,请使用:
var len = str.length;
if( /[A-Z]/.test(str) && /[0-9]/.test(str) && len >= 8 && len <= 15 )
[A-Z]
- 一个大写字母
[0-9]
- 一位数
[abc]
表示a
,b
或c
中的任何一个。
答案 2 :(得分:2)
这应该有用(除非你想匹配换行符):
/(?:[A-Z].*[0-9])|(?:[0-9].*[A-Z])/
(我错过了长度限制,但无论如何你似乎对你到那里的东西感到满意。)