你可以帮我创建具有以下规则的正则表达式。
@
,-
和_
。Test..ds
,Test_@ds
)我尝试了下面的正则表达式,但我不知道如何将其限制为四位数。
^[a-zA-Z0-9]((?!(\.|))|\.(?!(_|\.))|[a-zA-Z0-9]){6,18}[a-zA-Z0-9]$
示例:
有效字符串:
User.Name_77
01User_Name_77
UserNameTest
U_ser@Na_m_e
无效字符串
User_Name012345
User__Name
User.@Name
@UserName77
UserName77@
U_ser@@Na_me
U_ser@-Na_me
答案 0 :(得分:1)
你有一个很好的规范;您几乎可以直接将其转录为正面和负面的展望(根据评论更新):
^
(?!.*[-@_.]{2}) # no two special in a row
(?!(?:.*[-@_.]){5}) # less than 5 specials
(?!(?:.*\d){5}) # less than 5 digits
(?!^[^a-zA-Z0-9]) # no special at start
(?=.*[a-zA-Z0-9]$) # no specail at end
([-@_.a-zA-Z0-9]{8,50}) #8 to 50 of that char set
$
答案 1 :(得分:0)
试试这个:
/^(?!(([A-Za-z0-9]+[\@\.\-\_]){5,}|[A-Za-z0-9]*[\@\.\-\_]{5,}|.{51,}$|.{0,7}$|(.*\d){5,}|.+[\@\.\-\_]{2,}))\b[A-Za-z0-9@._-]*\b$/g