需求:由数字下划线(_)减号(-)和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。
/^(?=.*[a-zA-Z])(?=.*[0-9])[A-Za-z0-9-_]{8,16}$/g
注释一下:
^ 匹配一行的开头位置
(?=.*[a-zA-Z]) 预测该位置后面是其他字符和字母
(?=.*[0-9]) 预测该位置后面是其他字符和数字(?=.*[a-zA-Z])(?=.*[0-9])
前两组加起来就是该位置后面是(字母 && 数字) 和其它字符
[A-Za-z0-9-_] {8,16} 由8-16位数字或字母或-_组成
$ 匹配行结尾位置
注:(?=xxxx) 是正则表达式的正向零宽断言一种形式,标识预该位置后是xxxx字符。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。