我想要最少6个字符,总共最多15个字符。首先必须是字母数字(没有特殊),下一个(最多)13是字母数字,并且可以包括非连续性(并且一次只有以下一个)下划线OR时段或连字符,然后最后一个字符必须是字母数字。< / p>
好的例子:A_3.hj_3J
示例不行:F__3d66.K
示例不行:6-_sd.6h9
这就是我到目前为止所拥有的,我觉得它很接近而且很烦人。 我做错了什么?
^[a-zA-Z0-9]{1}([_.-]?[a-zA-Z0-9])\S{4,13}[a-zA-Z0-9]{1}$
答案 0 :(得分:2)
有几个问题:
@
#
或\S
等中间其他不允许的字符
醇>
您可以使用否定前瞻来禁止连续出现句点/连字符/下划线并从正则表达式中间删除\S
以允许任何非空格字符
^[a-zA-Z0-9](?!.*[_.-]{2})[\w.-]{4,13}[a-zA-Z0-9]$