最近做了一个注册验证用户名,要求数字,字母和下划线(至少包含其中两种,数字不能开头),在网上找了好多例子,要么只能实现***字母和下划线(数字不能开头)***,要么就只能实现***数字,字母和特殊字符(至少包含其中两种,数字不能开头),无法排除其他的特殊字符***,在尝试了很多次以后,我试着将这两种情况的判断结合在一起就实现了上面的要求,直接贴代码
var myTestValue="3333dddddks__+";
var reg=/^(?![0-9]+$)(?![a-zA-Z]+$)[A-Za-z_][A-Za-z_0-9]{0,}$/
console.log(reg.test(myTestValue));
{0,}这个位置就是用户限制是否有长度限制,比如6-16位那就是{6,16}