如何为满足以下条件的用户名创建RegEx表达式

时间:2015-08-05 14:47:20

标签: regex

我需要构建一个具有以下要求的正则表达式:

  • 仅接受$(document).click(function(){ $(".nav-dropdown").hide(); }); $(".nav-dropdown").click(function(e){ e.stopPropagation(); });
  • 中的一个特殊字符
  • 接受至少一位数字和至少一个字母

只要长度介于8-100之间。到目前为止,我已经提出了以下表达式,但问题是,只要长度在8到100之间,此RegEx就可以接受任意数量的特殊字符。

#._-,

1 个答案:

答案 0 :(得分:0)

^(?=.*\d)(?=.*[a-zA-Z])(?=[^#._-]*[#._-][^#._-]*$)[\w#.-]{8,100}$

应该这样做。

<强>解释

(?=        # Assert that the following matches:
 [^#._-]*  # Any number of characters except #._-
 [#._-]    # Exactly one of the characters #._-
 [^#._-]*  # Any number of characters except #._-
 $         # Assert that we've matched until the end of the string.
)