2014-05-17 127 views
2

嗨,我对这个正则表达式很陌生。请帮助我解决这个问题。正则表达式匹配至少一个大写字母和至少一个数字和任意数量的特殊字符

我希望正则表达式至少匹配一个大写字母,并且至少包含一个数字和任意数量的特殊字符。最小长度为8,最大长度可以为15.

注意:允许的特殊字符为@#$ &。

感谢您的帮助。

+1

这网站可能会有所帮助:http://www.regular-expressions.info/ –

回答

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]指的ab ,或c

http://regex101.com/r/aE5hL4

+1

不工作。输入的顺序可能会有所不同。它也应该匹配。例如:aaa34Assf @ – PaRsH

+0

@PaRsH因为它可以有任意数量的特殊字符(也是零),不需要检查它。 –

1

这应该工作(除非你想匹配换行符太):(我错过了长度的限制,但无论如何,你似乎很满意与你有什么有)

/(?:[A-Z].*[0-9])|(?:[0-9].*[A-Z])/ 

相关问题