编写一条正则,用来验证规则:一个6-16位的字符串,必须同时包含有大小写字母和数字
/*
检查的时候设置一个条件
正向预查(?=pattern) 意思的要匹配的字符串必须满足pattern这个条件
需要注意的是:括号里的内容只是条件,并不参与真正的捕获,只是检测一下后面的字符串是否符合要求而已
负向预查(?!pattern) 意思的要匹配的字符串必须不满足pattern这个条件
var reg1 = /(?=^)\d{2}(?=$)/
var reg2 = /^\d{2}$/
// reg1 跟 reg2 其实是一样的
*/
/*
(?!^[a-z]+$) 开始到结尾不能都是纯小写字母
(?!^[A-Z]+$) 开始到结尾不能都是纯大写字母
(?!^[0-9]+$) 开始到结尾不能都是纯数字
(?!^[a-zA-Z]+$) 开始到结尾不能都是小写字母或大写字母
(?!^[A-Z0-9]+$) 开始到结尾不能都是大写字母或数字
(?!^[0-9a-z]+$) 开始到结尾不能都是小写字母或数字
*/
// let reg = /(?!^[a-z]+$)(?!^[A-Z]+$)(?!^[0-9]+$)^[a-zA-Z0-9]{6,16}$/;
let reg = /(?!^[a-zA-Z]+$)(?!^[A-Z0-9]+$)(?!^[0-9a-z]+$)^[a-zA-Z0-9]{6,16}$/;
/*
1-10位 数字 字母 下划线组成的字符串 必须有_
*/
// let reg2 = /(?=_)^\w{1,10}$/; //这个不行 _只能放在前面
let reg1 = /(?!^[a-zA-Z0-9]+$)^\w{1,10}$/;
/*
数字 字母 下划线组成的字符串(\w) 必须有_
*/
let reg3 = /(?=_)\w+/;